mirror of https://github.com/interlegis/sapl.git
5 changed files with 169 additions and 169 deletions
@ -1,150 +1,158 @@ |
|||||
let JsDiff = require('diff'); |
let JsDiff = require("diff"); |
||||
|
|
||||
function isElementInViewport (el) { |
function isElementInViewport(el) { |
||||
|
if (typeof jQuery === "function" && el instanceof jQuery) { |
||||
//special bonus for those using jQuery
|
el = el[0]; |
||||
if (typeof jQuery === "function" && el instanceof jQuery) { |
} |
||||
el = el[0]; |
|
||||
} |
var rect = el.getBoundingClientRect(); |
||||
|
|
||||
var rect = el.getBoundingClientRect(); |
return ( |
||||
|
rect.top >= 0 && |
||||
return ( |
rect.left >= 0 && |
||||
rect.top >= 0 && |
rect.bottom <= |
||||
rect.left >= 0 && |
(window.innerHeight || document.documentElement.clientHeight) && |
||||
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /*or $(window).height() */ |
rect.right <= (window.innerWidth || document.documentElement.clientWidth) |
||||
rect.right <= (window.innerWidth || document.documentElement.clientWidth) /*or $(window).width() */ |
); |
||||
); |
|
||||
} |
} |
||||
|
|
||||
function textoMultiVigente(item, diff) { |
function textoMultiVigente(item, diff) { |
||||
var elv = null; |
var elv = null; |
||||
var ldpts = $(".dptt") |
var ldpts = $(".dptt"); |
||||
for (var i = 0; i < ldpts.length; i++) { |
for (var i = 0; i < ldpts.length; i++) { |
||||
if ($(ldpts[i]).hasClass('displaynone')) |
if ($(ldpts[i]).hasClass("displaynone")) continue; |
||||
continue; |
if (isElementInViewport(ldpts[i])) { |
||||
if (isElementInViewport( ldpts[i])) { |
if (i + 1 < ldpts.length) elv = ldpts[i + 1]; |
||||
if (i+1 < ldpts.length) |
else { |
||||
elv = ldpts[i+1]; |
elv = ldpts[i]; |
||||
else { |
} |
||||
elv = ldpts[i]; |
break; |
||||
} |
|
||||
break; |
|
||||
} |
|
||||
} |
} |
||||
|
} |
||||
|
|
||||
|
$(".cp .tipo-vigencias a").removeClass("selected"); |
||||
|
$(item).addClass("selected"); |
||||
|
$(".dptt.desativado").removeClass("displaynone"); |
||||
|
$(".dtxt").removeClass("displaynone"); |
||||
|
$(".dtxt.diff").remove(); |
||||
|
$(".nota-alteracao").removeClass("displaynone"); |
||||
|
|
||||
|
if (diff) { |
||||
|
$(".dtxt[id^='da'").each(function() { |
||||
|
if ( |
||||
|
$(this) |
||||
|
.html() |
||||
|
.search(/<\/\w+>/g) > 0 |
||||
|
) |
||||
|
return; |
||||
|
|
||||
|
var pk = $(this).attr("pk"); |
||||
|
var pks = $(this).attr("pks"); |
||||
|
|
||||
|
var a = $("#d" + pks) |
||||
|
.contents() |
||||
|
.filter(function() { |
||||
|
return this.nodeType === Node.TEXT_NODE; |
||||
|
}); |
||||
|
var b = $("#da" + pk) |
||||
|
.contents() |
||||
|
.filter(function() { |
||||
|
return this.nodeType === Node.TEXT_NODE; |
||||
|
}); |
||||
|
|
||||
$(".cp .tipo-vigencias a").removeClass("selected") |
var diff = JsDiff.diffWordsWithSpace($(a).text(), $(b).text()); |
||||
$(item).addClass("selected") |
|
||||
$(".dptt.desativado").removeClass("displaynone"); |
|
||||
$(".dtxt").removeClass("displaynone"); |
|
||||
$(".dtxt.diff").remove(); |
|
||||
$(".nota-alteracao").removeClass("displaynone"); |
|
||||
|
|
||||
if (diff) { |
|
||||
$(".dtxt[id^='da'").each(function() { |
|
||||
|
|
||||
if ( $(this).html().search( /<\/\w+>/g ) > 0) |
|
||||
|
|
||||
return; |
|
||||
|
|
||||
var pk = $(this).attr('pk') |
|
||||
var pks = $(this).attr('pks') |
|
||||
|
|
||||
var a = $('#d'+pks).contents().filter(function () { |
|
||||
return this.nodeType === Node.TEXT_NODE; |
|
||||
}); |
|
||||
var b = $('#da'+pk).contents().filter(function () { |
|
||||
return this.nodeType === Node.TEXT_NODE; |
|
||||
}); |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
var diff = JsDiff.diffWordsWithSpace($(a).text(), $(b).text()); |
|
||||
|
|
||||
if (diff.length > 0) { |
|
||||
$('#d'+pks).closest('.desativado').addClass("displaynone"); |
|
||||
|
|
||||
|
|
||||
var clone = $('#da'+pk).clone(); |
if (diff.length > 0) { |
||||
$('#da'+pk).after( clone ); |
$("#d" + pks) |
||||
$('#da'+pk).addClass('displaynone'); |
.closest(".desativado") |
||||
$(clone).addClass('diff').html(''); |
.addClass("displaynone"); |
||||
|
|
||||
|
var clone = $("#da" + pk).clone(); |
||||
|
$("#da" + pk).after(clone); |
||||
|
$("#da" + pk).addClass("displaynone"); |
||||
|
$(clone) |
||||
|
.addClass("diff") |
||||
|
.html(""); |
||||
|
|
||||
diff.forEach(function(part){ |
diff.forEach(function(part) { |
||||
var color = part.added ? '#018' : |
//var color = part.added ? "#018" : part.removed ? "#faa" : "";
|
||||
part.removed ? '#faa' : ''; |
|
||||
|
|
||||
var span = document.createElement('span'); |
var span = document.createElement("span"); |
||||
|
|
||||
var value = part.value; |
var value = part.value; |
||||
|
|
||||
if (part.removed) { |
if (part.removed) { |
||||
$(span).addClass('desativado') |
$(span).addClass("desativado"); |
||||
value += ' '; |
value += " "; |
||||
} |
} else if (part.added) { |
||||
else if (part.added) { |
$(span).addClass("added"); |
||||
$(span).addClass('added') |
} |
||||
} |
|
||||
|
|
||||
span.appendChild(document.createTextNode(value)); |
span.appendChild(document.createTextNode(value)); |
||||
$(clone).append(span); |
$(clone).append(span); |
||||
}); |
|
||||
} |
|
||||
}); |
}); |
||||
//textoVigente(item, true);
|
} |
||||
} |
}); |
||||
|
//textoVigente(item, true);
|
||||
if (elv) { |
} |
||||
try { |
|
||||
$('html, body').animate({ |
if (elv) { |
||||
scrollTop: $(elv).parent().offset().top - 60 |
try { |
||||
}, 0); |
$("html, body").animate( |
||||
} |
{ |
||||
catch(err) { |
scrollTop: |
||||
} |
$(elv) |
||||
|
.parent() |
||||
|
.offset().top - 60 |
||||
|
}, |
||||
|
0 |
||||
|
); |
||||
|
} catch (err) { |
||||
|
console.log(err); |
||||
} |
} |
||||
|
} |
||||
} |
} |
||||
|
|
||||
function textoVigente(item, link) { |
function textoVigente(item, link) { |
||||
var elv = null; |
var elv = null; |
||||
var ldpts = $(".dptt") |
var ldpts = $(".dptt"); |
||||
for (var i = 0; i < ldpts.length; i++) { |
for (var i = 0; i < ldpts.length; i++) { |
||||
if ($(ldpts[i]).hasClass('displaynone')) |
if ($(ldpts[i]).hasClass("displaynone")) continue; |
||||
continue; |
if (isElementInViewport(ldpts[i])) { |
||||
if (isElementInViewport( ldpts[i])) { |
if (i + 1 < ldpts.length) elv = ldpts[i + 1]; |
||||
if (i+1 < ldpts.length) |
else { |
||||
elv = ldpts[i+1]; |
elv = ldpts[i]; |
||||
else { |
} |
||||
elv = ldpts[i]; |
break; |
||||
} |
|
||||
break; |
|
||||
} |
|
||||
} |
} |
||||
|
} |
||||
$(".cp .tipo-vigencias a").removeClass("selected") |
|
||||
$(item).addClass("selected") |
$(".cp .tipo-vigencias a").removeClass("selected"); |
||||
|
$(item).addClass("selected"); |
||||
$(".dptt.desativado").addClass("displaynone"); |
|
||||
$(".nota-alteracao").removeClass("displaynone"); |
$(".dptt.desativado").addClass("displaynone"); |
||||
if (!link) |
$(".nota-alteracao").removeClass("displaynone"); |
||||
$(".nota-alteracao").addClass("displaynone"); |
if (!link) $(".nota-alteracao").addClass("displaynone"); |
||||
|
|
||||
if (elv) { |
if (elv) { |
||||
try { |
try { |
||||
$('html, body').animate({ |
$("html, body").animate( |
||||
scrollTop: $(elv).parent().offset().top - 60 |
{ |
||||
}, 0); |
scrollTop: |
||||
} |
$(elv) |
||||
catch(err) { |
.parent() |
||||
} |
.offset().top - 60 |
||||
|
}, |
||||
|
0 |
||||
|
); |
||||
|
} catch (err) { |
||||
|
console.log(err); |
||||
} |
} |
||||
|
} |
||||
} |
} |
||||
|
|
||||
export default { |
export default { |
||||
isElementInViewport, |
isElementInViewport, |
||||
textoMultiVigente, |
textoMultiVigente, |
||||
textoVigente |
textoVigente |
||||
} |
}; |
||||
|
|||||
@ -1,56 +1,46 @@ |
|||||
//import JsDiff from "diff/dist/diff";
|
// TODO: migrar compilacao para VueJs
|
||||
|
|
||||
|
|
||||
import compilacao from "./js/compilacao"; |
import compilacao from "./js/compilacao"; |
||||
import compilacao_view from "./js/compilacao_view"; |
import compilacao_view from "./js/compilacao_view"; |
||||
|
import compilacao_notas from "./js/compilacao_notas"; |
||||
import _ from "lodash"; |
import _ from "lodash"; |
||||
|
|
||||
//import "./js/compilacao_notas";
|
|
||||
//import "./js/compilacao_edit";
|
//import "./js/compilacao_edit";
|
||||
|
|
||||
//require("imports-loader?this=>window!./js/compilacao.js");
|
_.forEach(_.merge(_.merge(compilacao, compilacao_notas),compilacao_view), function(func, key) { |
||||
//require("imports-loader?this=>window!./js/compilacao_edit.js");
|
|
||||
//require("imports-loader?this=>window!./js/compilacao_notas.js");
|
|
||||
//require("imports-loader?this=>window!./js/compilacao_view.js");
|
|
||||
|
|
||||
|
|
||||
_.forEach(compilacao, function (func, key) { |
|
||||
window[key] = func; |
window[key] = func; |
||||
|
|
||||
}); |
}); |
||||
_.forEach(compilacao_view, function (func, key) { |
|
||||
window[key] = func; |
|
||||
|
|
||||
}); |
|
||||
|
|
||||
|
|
||||
$(document).ready(function() { |
$(document).ready(function() { |
||||
|
|
||||
setTimeout(function() { |
setTimeout(function() { |
||||
var href = location.href.split('#') |
var href = location.href.split("#"); |
||||
if (href.length == 2) { |
if (href.length == 2) { |
||||
try { |
try { |
||||
$('html, body').animate({ |
$("html, body").animate( |
||||
scrollTop: $('#dptt' + href[1] ).offset().top - window.innerHeight / 9 |
{ |
||||
}, 0); |
scrollTop: |
||||
} |
$("#dptt" + href[1]).offset().top - window.innerHeight / 9 |
||||
catch(err) { |
}, |
||||
} |
0 |
||||
|
); |
||||
|
} catch (err) { |
||||
|
console.log(err); |
||||
} |
} |
||||
|
} |
||||
}, 100); |
}, 100); |
||||
|
|
||||
$("#btn_font_menos").click(function() { |
$("#btn_font_menos").click(function() { |
||||
$(".dpt").css("font-size", "-=1"); |
$(".dpt").css("font-size", "-=1"); |
||||
}); |
}); |
||||
$("#btn_font_mais").click(function() { |
$("#btn_font_mais").click(function() { |
||||
$(".dpt").css("font-size", "+=1"); |
$(".dpt").css("font-size", "+=1"); |
||||
}); |
}); |
||||
|
|
||||
$(".dpt.bloco_alteracao .dpt").each(function() { |
$(".dpt.bloco_alteracao .dpt").each(function() { |
||||
var nivel = parseInt($(this).attr('nivel')); |
var nivel = parseInt($(this).attr("nivel")); |
||||
|
$(this).css("z-index", 15 - nivel); |
||||
$(this).css('z-index', 15-nivel) |
|
||||
|
|
||||
}); |
}); |
||||
|
|
||||
|
onReadyNotasVides(); |
||||
|
|
||||
}); |
}); |
||||
|
|||||
Loading…
Reference in new issue