Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const {
- quadrosDB
- } = require(`../Database/index.js`), Util = require('../Util/index.js'), pug = require('pug');
- let append = $(pug.renderFile(`${pathviews}/Modules/Board.pug`));
- setTimeout(() => {
- initQuadros();
- }, 10);
- function initQuadros() {
- $('.quadros-list-container').remove();
- quadrosDB.get('quadros').value().forEach(quadro => {
- $('#quadros-warpper-list > .quadros-add').before(addQuadro(quadro));
- });
- $('.quadros-list-container').first().trigger("click");
- // Quadros
- $('.js-quadros-add').click((event) => {
- if ($('.js-quadros-add').hasClass("is-idle")) {
- $('.js-quadros-add').removeClass("is-idle");
- $(".js-quadros-name-input").focus();
- $(".js-quadros-name-input").trigger("click");
- }
- });
- $('.quadros-input-container > div').click((event) => {
- let t = $('.js-quadros-name-input').val();
- if (t == "") {
- } else {
- let q = {
- name: t,
- id: Util.createID(10),
- lists: []
- };
- $('#quadros-warpper-list > .quadros-add').before(addQuadro(q));
- quadrosDB.get('quadros').push(q).write();
- $('.js-quadros-name-input').val('');
- setTimeout(() => {
- reloadQuadro();
- }, 50);
- }
- })
- $('.js-quadros-name-input').focusout(() => {
- setTimeout(() => {
- if (!$('.js-quadros-add').hasClass("is-idle")) {
- $('.js-quadros-add').addClass("is-idle");
- }
- }, 200);
- });
- reloadQuadro();
- }
- function reloadQuadro() {
- quadrosDB.get('quadros').value().forEach(quadro => {
- if (quadro.id == $('.quadros-list-container.active').attr('quadro-id')) {
- $('#scrollbar-ui-moving').children().remove();
- $('#scrollbar-ui-moving').append(`
- <div class="warpper-list" id="warpper-list-add">
- <div class="list-add is-idle">
- <span>Adicionar outra lista</span>
- <div class="list-add-input-container">
- <textarea class="js-list-add-name-input" spellcheck="false" dir="auto" maxlength="512" style="overflow: hidden; word-wrap: break-word; height: 25px;"></textarea>
- <div>
- <span>Salvar</span>
- </div>
- </div>
- </div>
- </div>
- `).find('.list-add').click(() => {
- if ($('.list-add').hasClass("is-idle")) {
- $('.list-add').removeClass("is-idle");
- $(".js-list-add-name-input").focus();
- $(".js-list-add-name-input").trigger("click");
- }
- }).parents('#warpper-list-add').find('.list-add-input-container > div').click((event) => {
- let t = $('.js-list-add-name-input').val(),
- list = quadrosDB.get('quadros').find({
- id: $('.quadros-list-container.active').attr('quadro-id')
- }).get('lists');
- if (t == "") {
- } else {
- let l = {
- name: t,
- id: Util.createID(10),
- cards: []
- };
- $('#scrollbar-ui-moving > #warpper-list-add').before(addList(l));
- $('.js-list-add-name-input').val('');
- list.push(l).write();
- }
- }).parents('#warpper-list-add').find('.js-list-add-name-input').focusout(() => {
- setTimeout(() => {
- if (!$('.list-add').hasClass("is-idle")) {
- $('.list-add').addClass("is-idle");
- }
- }, 200);
- });
- quadro.lists.forEach(list => {
- let list_append = addList(list);
- list.cards.forEach(card => {
- list_append.find('.list-content').append(addCard(card));
- });
- $('#scrollbar-ui-moving > #warpper-list-add').before(list_append);
- });
- }
- });
- }
- function addQuadro(quadro) {
- return $(`
- <div class="quadros-list-container is-idle" quadro-id="${quadro.id}">
- <span class="quadro-name">${quadro.name}</span>
- <textarea class="quadros-name-input js-quadro-name-input" spellcheck="false" dir="auto" maxlength="512" style="overflow: hidden; word-wrap: break-word; height: 25px;">${quadro.name}</textarea>
- </div>
- `).click((event) => {
- if ($(event.currentTarget).hasClass('active')) return;
- $('.quadros-list-container').removeClass('active');
- $(event.currentTarget).addClass('active');
- setTimeout(() => {
- reloadQuadro();
- }, 50);
- }).mouseup(function (event) {
- switch (event.which) {
- case 3:
- setTimeout(() => {
- if ($('#right-mouse-options').length == 0) {
- $('.doom').append(`<div id="right-mouse-options" style="left: auto; right: auto; bottom: auto; top: auto; pointer-events: auto;"></div>`);
- } else if ($('#right-mouse-options').length > 0) {
- if ($('#right-mouse-options').children().length > 0) {
- $('#right-mouse-options').children().remove();
- }
- }
- let item_playlist = $(this);
- let lite = [{
- id: "remove-quadro-boards",
- text: "Deletar quadro",
- generator: function () {
- quadrosDB.get('quadros').remove({
- id: $(event.currentTarget).attr('quadro-id')
- }).write();
- $('#scrollbar-ui-moving').children().remove();
- if ($(event.currentTarget).next('.quadros-list-container').length != 0) {
- $(event.currentTarget).next('.quadros-list-container').trigger("click");
- } else {
- $(event.currentTarget).prev('.quadros-list-container').trigger("click");
- }
- $(event.currentTarget).remove();
- $('#right-mouse-options').remove();
- }
- }, {
- id: "rename-quadro-boards",
- text: "Renomear quadro",
- generator: function () {
- if ($(event.currentTarget).hasClass("is-idle")) {
- $(event.currentTarget).removeClass("is-idle");
- $(event.currentTarget).find(".js-quadro-name-input").focus();
- $(event.currentTarget).find(".js-quadro-name-input").trigger("click");
- }
- $('#right-mouse-options').remove();
- }
- }];
- lite.forEach((value, index, array) => {
- $('#right-mouse-options').append(`<div class="options-item" id="${value.id}"><span>${value.text}</span></div>`);
- $(`#${value.id}`).click(value.generator);
- });
- if ($('#right-mouse-options').children().length > 0) {
- if ((event.clientX + $('#right-mouse-options').outerWidth(true)) > $('#document-body').width()) {
- $('#right-mouse-options').css('left', `auto`);
- $('#right-mouse-options').css('right', `0px`);
- } else {
- $('#right-mouse-options').css('left', `${event.clientX}px`);
- $('#right-mouse-options').css('right', `auto`);
- }
- if ((event.clientY + $('#right-mouse-options').outerHeight(true)) > $('#document-body').height()) {
- $('#right-mouse-options').css('bottom', `0px`);
- $('#right-mouse-options').css('top', `auto`);
- } else {
- $('#right-mouse-options').css('bottom', `auto`);
- $('#right-mouse-options').css('top', `${event.clientY}px`);
- }
- } else if ($('#right-mouse-options').children().length <= 0) {
- $('#right-mouse-options').remove();
- }
- }, 100);
- break;
- default:
- console.log('You have a strange Mouse!');
- break;
- }
- }).find('.js-quadro-name-input').keydown((event) => {
- if (event.keyCode == 13) {
- if (!$(event.currentTarget).parent().hasClass("is-idle")) {
- $(event.currentTarget).parent().addClass("is-idle");
- }
- var quadro = quadrosDB.get('quadros').find({
- id: $(event.currentTarget).parent().attr('quadro-id')
- });
- quadro.set('name', $(event.currentTarget).val()).write();
- $(event.currentTarget).parent().children('.quadro-name').text($(event.currentTarget).val());
- }
- }).focusout(event => {
- setTimeout(() => {
- if (!$(event.currentTarget).parent().hasClass("is-idle")) {
- $(event.currentTarget).parent().addClass("is-idle");
- }
- }, 200);
- }).parents('.quadros-list-container').trigger("click");
- }
- function addList(list) {
- return $(`
- <div class="warpper-list" list-id="${list.id}">
- <div style="height: 100%; display: flex; position: absolute; border-right: 1px solid #ffc430; border-bottom: 1px solid #ffc430;">
- <div class="list-container">
- <div class="list-header is-idle">
- <div class="list-header-target editing-target"></div>
- <span class="list-header-name editing-target">${list.name}</span>
- <textarea class="list-header-name-input js-list-name-input" spellcheck="false" dir="auto" maxlength="512" style="overflow: hidden; word-wrap: break-word; height: 25px;">${list.name}</textarea>
- </div>
- <div class="list-content"></div>
- <div class="card-options animation-default">
- <div class="card-options-checklist is-idle animation-default" style="width: 0px; opacity: 0;">
- <span>Checklist</span>
- <div class="card-options-checklist-input-container">
- <textarea class="js-card-options-checklist-name-input" spellcheck="false" dir="auto" maxlength="512" style="overflow: hidden; word-wrap: break-word; height: 25px;"></textarea>
- <div>
- <span>Salvar</span>
- </div>
- </div>
- </div>
- </div>
- <a class="list-add-card is-idle">
- <span class="list-add-card-text">Adicionar outro cartão</span>
- <div class="list-add-card-input-container">
- <textarea class="js-list-add-card-name-input" spellcheck="false" dir="auto" maxlength="512" style="overflow: hidden; word-wrap: break-word; height: 25px;"></textarea>
- <div>
- <span>Salvar</span>
- </div>
- </div>
- </a>
- </div>
- </div>
- </div>
- `).find('.list-header-target').mouseup(event => {
- switch (event.which) {
- case 3:
- setTimeout(() => {
- if ($('#right-mouse-options').length == 0) {
- $('.doom').append(`<div id="right-mouse-options" style="left: auto; right: auto; bottom: auto; top: auto; pointer-events: auto;"></div>`);
- } else if ($('#right-mouse-options').length > 0) {
- if ($('#right-mouse-options').children().length > 0) {
- $('#right-mouse-options').children().remove();
- }
- }
- let item_playlist = $(this);
- let lite = [{
- id: "remove-list-boards",
- text: "Deletar lista",
- generator: function () {
- quadrosDB.get('quadros').find({
- id: $('.quadros-list-container.active').attr('quadro-id')
- }).get('lists').remove({
- id: $(event.currentTarget).parents('.warpper-list').attr('list-id')
- }).write();
- $(event.currentTarget).parents('.warpper-list').remove();
- $('#right-mouse-options').remove();
- }
- }, {
- id: "rename-list-boards",
- text: "Renomear lista",
- generator: function () {
- if ($(event.currentTarget).parents('.list-header').hasClass("is-idle")) {
- $(event.currentTarget).parents('.list-header').removeClass("is-idle");
- $(event.currentTarget).parent().children().filter('.js-list-name-input').focus();
- $(event.currentTarget).parent().children().filter('.js-list-name-input').trigger("click");
- }
- $('#right-mouse-options').remove();
- }
- }];
- lite.forEach((value, index, array) => {
- $('#right-mouse-options').append(`<div class="options-item" id="${value.id}"><span>${value.text}</span></div>`);
- $(`#${value.id}`).click(value.generator);
- });
- if ($('#right-mouse-options').children().length > 0) {
- if ((event.clientX + $('#right-mouse-options').outerWidth(true)) > $('#document-body').width()) {
- $('#right-mouse-options').css('left', `auto`);
- $('#right-mouse-options').css('right', `0px`);
- } else {
- $('#right-mouse-options').css('left', `${event.clientX}px`);
- $('#right-mouse-options').css('right', `auto`);
- }
- if ((event.clientY + $('#right-mouse-options').outerHeight(true)) > $('#document-body').height()) {
- $('#right-mouse-options').css('bottom', `0px`);
- $('#right-mouse-options').css('top', `auto`);
- } else {
- $('#right-mouse-options').css('bottom', `auto`);
- $('#right-mouse-options').css('top', `${event.clientY}px`);
- }
- } else if ($('#right-mouse-options').children().length <= 0) {
- $('#right-mouse-options').remove();
- }
- }, 100);
- break;
- default:
- console.log('You have a strange Mouse!');
- break;
- }
- }).mousedown(event => {
- }).mousemove(event => {
- }).parents('.warpper-list').find('.js-list-name-input').keydown((event) => {
- if (event.keyCode == 13) {
- if (!$(event.currentTarget).parents().filter('.list-header').hasClass("is-idle")) {
- $(event.currentTarget).parents().filter('.list-header').addClass("is-idle");
- }
- var list = quadrosDB.get('quadros').find({
- id: $('.quadros-list-container.active').attr('quadro-id')
- }).get('lists').find({
- id: $(event.currentTarget).parents().filter('.warpper-list').attr('list-id')
- });
- list.set('name', $(event.currentTarget).val()).write();
- $(event.currentTarget).parents().children('.list-header-name').text($(event.currentTarget).val());
- }
- }).parents('.warpper-list').find('.js-list-name-input').focusout(event => {
- setTimeout(() => {
- if (!$(event.currentTarget).parents().filter('.list-header').hasClass("is-idle")) {
- $(event.currentTarget).parents().filter('.list-header').addClass("is-idle");
- }
- }, 200);
- }).parents('.warpper-list').find('.list-add-card').click(() => {
- if ($(event.currentTarget).hasClass("is-idle")) {
- $(event.currentTarget).removeClass("is-idle");
- $(event.currentTarget).find(".js-list-add-card-name-input").focus();
- $(event.currentTarget).find(".js-list-add-card-name-input").trigger("click");
- }
- }).parents('.warpper-list').find('.list-add-card-input-container > div').click(event => {
- let t = $(event.currentTarget).parents('.warpper-list').find('.js-list-add-card-name-input').val(),
- card = quadrosDB.get('quadros').find({
- id: $('.quadros-list-container.active').attr('quadro-id')
- }).get('lists').find({
- id: $(event.currentTarget).parents('.warpper-list').attr('list-id')
- }).get('cards')
- if (t == "") {
- } else {
- let c = {
- name: t,
- id: Util.createID(10),
- descripition: "",
- checklist: []
- };
- $(event.currentTarget).parents('.warpper-list').find('.list-content').append(addCard(c));
- $(event.currentTarget).parents('.warpper-list').find('.js-list-add-card-name-input').val('');
- card.push(c).write();
- }
- }).parents('.warpper-list').find('.js-list-add-card-name-input').focusout(event => {
- setTimeout(() => {
- if (!$(event.currentTarget).parents('.list-add-card').hasClass("is-idle")) {
- $(event.currentTarget).parents('.list-add-card').addClass("is-idle");
- }
- }, 200);
- }).parents('.warpper-list').find('.card-options > .card-options-checklist').click((event) => {
- if ($(event.currentTarget).hasClass("is-idle")) {
- $(event.currentTarget).removeClass("is-idle");
- $(event.currentTarget).find(".js-card-options-checklist-name-input").focus();
- $(event.currentTarget).find(".js-card-options-checklist-name-input").trigger("click");
- let currentWidth = $(event.currentTarget).width(),
- autoWidth = $(event.currentTarget).css('width', 'auto').width(),
- currentHeight = $(event.currentTarget).height(),
- autoHeight = $(event.currentTarget).css('height', 'auto').height();
- $(event.currentTarget).css('width', currentWidth).css('width', autoWidth).css('height', currentHeight).css('height', autoHeight);
- }
- }).find('.card-options-checklist-input-container > div').click(event => {
- let current = $(event.currentTarget),
- parent = current.parents('.card-options-checklist'),
- list_container = current.parents('.list-container'),
- t = current.parents('.warpper-list').find('.js-card-options-checklist-name-input').val(),
- checklist = quadrosDB.get('quadros').find({
- id: $('.quadros-list-container.active').attr('quadro-id')
- }).get('lists').find({
- id: current.parents('.warpper-list').attr('list-id')
- }).get('cards').find({
- id: current.parents('.warpper-list').find('.list-card.active').attr('card-id')
- }).get('checklist');
- if (t == "") {
- } else {
- let c = {
- name: t,
- id: Util.createID(10),
- itens: []
- };
- setTimeout(() => {
- for (let i = list_container.children('.card-options').children().length - 1; i >= 0; i--) {
- const card_options = $(list_container.children('.card-options').children()[i]);
- setTimeout(() => {
- card_options.css('width', '0px');
- card_options.css('opacity', '0');
- }, 1000 * (i / 4));
- }
- }, 400);
- current.parents('.warpper-list').find('.list-card.active').find('.list-card-checklist').append(addChecklist(c));
- current.parents('.warpper-list').find('.card-options').find('.js-card-options-checklist-name-input').val('');
- checklist.push(c).write();
- }
- }).parents('.card-options-checklist-input-container').find('.js-card-options-checklist-name-input').focusout(event => {
- setTimeout(() => {
- if (!$(event.currentTarget).parents('.card-options-checklist').hasClass("is-idle")) {
- $(event.currentTarget).parents('.card-options-checklist').addClass("is-idle");
- let currentWidth = $(event.currentTarget).parents('.card-options-checklist').width(),
- autoWidth = $(event.currentTarget).parents('.card-options-checklist').css('width', 'auto').width(),
- currentHeight = $(event.currentTarget).parents('.card-options-checklist').height(),
- autoHeight = $(event.currentTarget).parents('.card-options-checklist').css('height', 'auto').height();
- $(event.currentTarget).parents('.card-options-checklist').css('width', currentWidth).css('width', autoWidth).css('height', currentHeight).css('height', autoHeight);
- }
- }, 200);
- }).parents('.warpper-list');
- }
- function addCard(card) {
- return $(`
- <div class="list-card" card-id="${card.id}">
- <div class="list-header-target js-editing-target"></div>
- <div style="display: flex;">
- <div class="list-card-details">
- <div class="list-card-tag"></div>
- <span class="list-card-title">${card.name}</span>
- </div>
- <div class="card-header-options">
- <div class="spinner-ellipsis">
- <span class="spinner-item"></span>
- <span class="spinner-item"></span>
- <span class="spinner-item"></span>
- </div>
- </div>
- </div>
- <div class="card-content animation-default"></div>
- </div>
- `).find('.list-card-details').mouseup((event) => {
- switch (event.which) {
- case 1:
- let current = $(event.currentTarget),
- parent = current.parents('.list-card'),
- list_container = current.parents('.list-container'),
- scrollbar = list_container.parents('#scrollbar-ui-moving'),
- if_check = false;
- for (let i = 0; i < scrollbar.length; i++) {
- for (let i = scrollbar.find('.card-options').children().length - 1; i >= 0; i--) {
- const card_options = $(scrollbar.find('.card-options').children()[i]);
- setTimeout(() => {
- card_options.css('width', '0px');
- card_options.css('opacity', '0');
- }, 1000 * (i / 4));
- }
- }
- if (parent.hasClass('active')) {
- parent.children('.card-content').children().remove();
- if_check = true;
- }
- scrollbar.find('.card-header-options').removeClass('active');
- $('.list-card.active').removeClass('active');
- setTimeout(() => {
- $('.list-card').children('.card-content').children().remove();
- }, 400);
- if (if_check) return;
- parent.children('.card-content').append(`
- <div class="typing-3ghGH5" style="margin: 10px 0;">
- <span class="ellipsis-5J65IO">
- <span class="spinner-inner spinner-pulsing-ellipsis">
- <span class="spinner-item"></span>
- <span class="spinner-item"></span>
- <span class="spinner-item"></span>
- <span class="spinner-item"></span>
- <span class="spinner-item"></span>
- <span class="spinner-item"></span>
- </span>
- </span>
- </div>
- `);
- parent.addClass('active');
- list_container.children('.card-options').children().addClass('disable');
- setTimeout(() => {
- let card = quadrosDB.get('quadros').find({
- id: $('.quadros-list-container.active').attr('quadro-id')
- }).get('lists').find({
- id: current.parents('.warpper-list').attr('list-id')
- }).get('cards').find({
- id: parent.attr('card-id')
- }).value();
- parent.children('.card-content').children().remove();
- parent.children('.card-content').append(`
- <div class="list-card-descripition is-idle">
- <span class="list-card-descripition-text ${card.descripition == '' ? 'no-descripition' : ''}" title="${card.descripition}">${card.descripition == '' ? 'Sem descrição' : card.descripition}</span>
- <textarea class="list-card-descripition-input js-card-descripition-input" spellcheck="false" dir="auto" maxlength="512" style="overflow: hidden; word-wrap: break-word; height: 16px;">${card.descripition}</textarea>
- </div>
- <div class="list-card-checklist"></div>
- `).find('.list-card-descripition').click((event) => {
- if ($(event.currentTarget).hasClass("is-idle")) {
- $(event.currentTarget).removeClass("is-idle");
- $(event.currentTarget).find(".js-card-descripition-input").focus();
- $(event.currentTarget).find(".js-card-descripition-input").trigger("click");
- }
- }).find('.js-card-descripition-input').keydown((event) => {
- if (event.keyCode == 13) {
- if (!$(event.currentTarget).parent().hasClass("is-idle")) {
- $(event.currentTarget).parent().addClass("is-idle");
- }
- let card = quadrosDB.get('quadros').find({
- id: $('.quadros-list-container.active').attr('quadro-id')
- }).get('lists').find({
- id: current.parents('.warpper-list').attr('list-id')
- }).get('cards').find({
- id: parent.attr('card-id')
- });
- card.set('descripition', $(event.currentTarget).val()).write();
- if ($(event.currentTarget).val() == "") {
- $(event.currentTarget).parent().children('.list-card-descripition-text').text("Sem descrição");
- $(event.currentTarget).parent().children('.list-card-descripition-text').addClass('no-descripition');
- $(event.currentTarget).parent().children('.list-card-descripition-text').attr('title', '');
- } else {
- $(event.currentTarget).parent().children('.list-card-descripition-text').text($(event.currentTarget).val());
- $(event.currentTarget).parent().children('.list-card-descripition-text').removeClass('no-descripition');
- $(event.currentTarget).parent().children('.list-card-descripition-text').attr('title', $(event.currentTarget).val());
- }
- }
- }).focusout(event => {
- if (!$(event.currentTarget).parent().hasClass("is-idle")) {
- $(event.currentTarget).parent().addClass("is-idle");
- }
- });
- for (let i = 0; i < card.checklist.length; i++) {
- const checklist = card.checklist[i];
- let check = addChecklist(checklist),
- nnn = {
- f: 0,
- v: 0
- };
- for (let i = 0; i < checklist.itens.length; i++) {
- const item = checklist.itens[i];
- if (item.check) {
- nnn.v++;
- } else {
- nnn.f++;
- }
- check.find('.checklist-itens-container').append(addCheck(item))
- }
- check.find('.checklist-progress').css('width', `${(nnn.v / (nnn.v + nnn.f)) * 100}%`);
- parent.find('.list-card-checklist').append(check);
- }
- list_container.children('.card-options').children().removeClass('disable');
- }, 400);
- break;
- case 3:
- setTimeout(() => {
- if ($('#right-mouse-options').length == 0) {
- $('.doom').append(`<div id="right-mouse-options" style="left: auto; right: auto; bottom: auto; top: auto; pointer-events: auto;"></div>`);
- } else if ($('#right-mouse-options').length > 0) {
- if ($('#right-mouse-options').children().length > 0) {
- $('#right-mouse-options').children().remove();
- }
- }
- let item_playlist = $(this);
- let lite = [{
- id: "remove-card-boards",
- text: "Deletar cartão",
- generator: function () {
- let current = $(event.currentTarget),
- parent = current.parents('.list-card'),
- list_container = current.parents('.list-container');
- quadrosDB.get('quadros').find({
- id: $('.quadros-list-container.active').attr('quadro-id')
- }).get('lists').find({
- id: current.parents('.warpper-list').attr('list-id')
- }).get('cards').remove({
- id: parent.attr('card-id')
- }).write();
- parent.remove();
- if ($(event.currentTarget).parent().hasClass('active')) {
- for (let i = list_container.children('.card-options').children().length - 1; i >= 0; i--) {
- const card_options = $(list_container.children('.card-options').children()[i]);
- setTimeout(() => {
- card_options.css('width', '0px');
- card_options.css('opacity', '0');
- }, 1000 * (i / 4));
- }
- return;
- }
- setTimeout(() => {
- if ($('.list-card').length == 0) return;
- list_container.children('.card-options').css('left', `${($('.list-card.active').length != 0 ? $('.list-card.active') : $('.list-card').first()).parents('.list-container').offset().left + ($('.list-card.active').length != 0 ? $('.list-card.active') : $('.list-card').first()).parents('.list-container').width()}px`);
- list_container.children('.card-options').css('top', `${($('.list-card.active').length != 0 ? $('.list-card.active') : $('.list-card').first()).offset().top}px`);
- }, 400);
- $('#right-mouse-options').remove();
- }
- }];
- lite.forEach((value, index, array) => {
- $('#right-mouse-options').append(`<div class="options-item" id="${value.id}"><span>${value.text}</span></div>`);
- $(`#${value.id}`).click(value.generator);
- });
- if ($('#right-mouse-options').children().length > 0) {
- if ((event.clientX + $('#right-mouse-options').outerWidth(true)) > $('#document-body').width()) {
- $('#right-mouse-options').css('left', `auto`);
- $('#right-mouse-options').css('right', `0px`);
- } else {
- $('#right-mouse-options').css('left', `${event.clientX}px`);
- $('#right-mouse-options').css('right', `auto`);
- }
- if ((event.clientY + $('#right-mouse-options').outerHeight(true)) > $('#document-body').height()) {
- $('#right-mouse-options').css('bottom', `0px`);
- $('#right-mouse-options').css('top', `auto`);
- } else {
- $('#right-mouse-options').css('bottom', `auto`);
- $('#right-mouse-options').css('top', `${event.clientY}px`);
- }
- } else if ($('#right-mouse-options').children().length <= 0) {
- $('#right-mouse-options').remove();
- }
- }, 100);
- break;
- default:
- console.log('You have a strange Mouse!');
- break;
- }
- }).parents('.list-card').find('.card-header-options').click((event) => {
- let current = $(event.currentTarget),
- parent = current.parents('.list-card'),
- list_container = parent.parents('.list-container');
- if (current.hasClass('active')) {
- current.removeClass('active');
- for (let i = list_container.children('.card-options').children().length - 1; i >= 0; i--) {
- const card_options = $(list_container.children('.card-options').children()[i]);
- setTimeout(() => {
- card_options.css('width', '0px');
- card_options.css('opacity', '0');
- }, 1000 * (i / 4));
- }
- } else {
- current.addClass('active');
- list_container.children('.card-options').css('left', `${parent.parents('.list-container').offset().left + parent.parents('.list-container').width()}px`);
- list_container.children('.card-options').css('top', `${parent.offset().top}px`);
- for (let i = 0; i < list_container.children('.card-options').children().length; i++) {
- const card_options = $(list_container.children('.card-options').children()[i]);
- setTimeout(() => {
- let currentWidth = card_options.width(),
- autoWidth = card_options.css('width', 'auto').width(),
- currentHeight = card_options.height(),
- autoHeight = card_options.css('height', 'auto').height();
- card_options.css('width', currentWidth).css('width', autoWidth).css('height', currentHeight).css('height', autoHeight);
- card_options.css('opacity', '1');
- }, 1000 * (i / 4));
- }
- }
- }).parents('.list-card');
- }
- function addChecklist(checklist) {
- return $(`
- <div class="checklist-card" checklist-id="${checklist.id}">
- <div class="checklist-progressbar">
- <div class="checklist-progress animation-default" style="width: 0%;"></div>
- </div>
- <div class="checklist-top">
- <div class="checklist-name is-idle">
- <span class="checklist-name-text">${checklist.name}</span>
- <textarea class="checklist-name-input js-checklist-name-input" spellcheck="false" dir="auto" maxlength="512" style="overflow: hidden; word-wrap: break-word; height: 18px;">${checklist.name}</textarea>
- </div>
- <div class="js-checklist-delete-handle">Excluir</div>
- </div>
- <div class="checklist-itens-container"></div>
- <div class="checklist-add-check is-idle">
- <span>Adicionar item</span>
- <div class="checklist-add-check-input-container">
- <textarea class="js-checklist-add-check-name-input" spellcheck="false" dir="auto" maxlength="512" style="overflow: hidden; word-wrap: break-word; height: 25px;"></textarea>
- <div>
- <span>Salvar</span>
- </div>
- </div>
- </div>
- </div>
- `).find('.js-checklist-delete-handle').click((event) => {
- let current = $(event.currentTarget),
- parent = current.parents('.checklist-card'),
- checklist = quadrosDB.get('quadros').find({
- id: $('.quadros-list-container.active').attr('quadro-id')
- }).get('lists').find({
- id: current.parents('.warpper-list').attr('list-id')
- }).get('cards').find({
- id: current.parents('.warpper-list').find('.list-card.active').attr('card-id')
- }).get('checklist');
- checklist.remove({
- id: parent.attr('checklist-id')
- }).write();
- parent.remove();
- }).parents('.checklist-card').find('.checklist-add-check').click((event) => {
- if ($(event.currentTarget).hasClass("is-idle")) {
- $(event.currentTarget).removeClass("is-idle");
- $(event.currentTarget).find(".js-checklist-add-check-name-input").focus();
- $(event.currentTarget).find(".js-checklist-add-check-name-input").trigger("click");
- }
- }).find('.js-checklist-add-check-name-input').focusout(event => {
- setTimeout(() => {
- if (!$(event.currentTarget).parents('.checklist-add-check').hasClass("is-idle")) {
- $(event.currentTarget).parents('.checklist-add-check').addClass("is-idle");
- }
- }, 200);
- }).parent().find('div').click(event => {
- let current = $(event.currentTarget),
- parent = current.parents('.checklist-card'),
- t = parent.find('.js-checklist-add-check-name-input').val(),
- checklist = quadrosDB.get('quadros').find({
- id: $('.quadros-list-container.active').attr('quadro-id')
- }).get('lists').find({
- id: current.parents('.warpper-list').attr('list-id')
- }).get('cards').find({
- id: current.parents('.warpper-list').find('.list-card.active').attr('card-id')
- }).get('checklist').find({
- id: parent.attr('checklist-id')
- }).get('itens');
- if (t == "") {
- } else {
- let c = {
- name: t,
- id: Util.createID(10),
- check: false
- };
- parent.find('.checklist-itens-container').append(addCheck(c));
- parent.find('.js-checklist-add-check-name-input').val('');
- checklist.push(c).write();
- parent.find('.checklist-progress').css('width', `${(checklist.filter({ check: true }).value().length / checklist.value().length) * 100}%`);
- }
- }).parents('.checklist-card').find('.checklist-top').children('.checklist-name').click((event) => {
- if ($(event.currentTarget).hasClass("is-idle")) {
- $(event.currentTarget).removeClass("is-idle");
- $(event.currentTarget).find(".js-checklist-name-input").focus();
- $(event.currentTarget).find(".js-checklist-name-input").trigger("click");
- }
- }).parents('.checklist-card').find('.js-checklist-name-input').focusout(event => {
- if (!$(event.currentTarget).parents('.checklist-name').hasClass("is-idle")) {
- $(event.currentTarget).parents('.checklist-name').addClass("is-idle");
- }
- }).keydown((event) => {
- if (event.keyCode == 13) {
- let current = $(event.currentTarget),
- parent = current.parents('.checklist-card'),
- checklist = quadrosDB.get('quadros').find({
- id: $('.quadros-list-container.active').attr('quadro-id')
- }).get('lists').find({
- id: current.parents('.warpper-list').attr('list-id')
- }).get('cards').find({
- id: current.parents('.warpper-list').find('.list-card.active').attr('card-id')
- }).get('checklist').find({
- id: parent.attr('checklist-id')
- });
- if (!current.parent().hasClass("is-idle")) {
- current.parent().addClass("is-idle");
- }
- checklist.set('name', current.val()).write();
- current.parent().children('.checklist-name-text').text(current.val());
- }
- }).parents('.checklist-card');
- }
- function addCheck(check) {
- return $(`
- <div>
- <div class="check-item ${check.check ? 'checked' : ''}" check-id="${check.id}">
- <div class="check-item-toggle">
- <input class="tci tci-check" id="cb-check-itens-toggle-${check.id}" ${check.check ? 'checked=""' : ''} type="checkbox">
- <label class="tci-btn" for="cb-check-itens-toggle-${check.id}"></label>
- </div>
- <div class="check-name is-idle">
- <span class="check-name-text">${check.name}</span>
- <textarea class="check-name-input js-check-name-input" spellcheck="false" dir="auto" maxlength="512" style="overflow: hidden; word-wrap: break-word; height: 18px;">${check.name}</textarea>
- </div>
- </div>
- <div class="check-item-close">
- <svg width="12" height="12" viewBox="0 0 12 12">
- <polygon fill="#2c2c2c" fill-rule="evenodd" points="11 1.576 6.583 6 11 10.424 10.424 11 6 6.583 1.576 11 1 10.424 5.417 6 1 1.576 1.576 1 6 5.417 10.424 1"></polygon>
- </svg>
- </div>
- </div>
- `).find(`label.tci-btn`).click((event) => {
- let current = $(event.target).parent().children(`input`),
- parent = current.parents('.checklist-card'),
- check = quadrosDB.get('quadros').find({
- id: $('.quadros-list-container.active').attr('quadro-id')
- }).get('lists').find({
- id: current.parents('.warpper-list').attr('list-id')
- }).get('cards').find({
- id: current.parents('.warpper-list').find('.list-card.active').attr('card-id')
- }).get('checklist').find({
- id: parent.attr('checklist-id')
- }).get('itens');
- if (current[0].checked) {
- current.parents('.check-item').removeClass("checked");
- check.find({
- id: current.parents('.check-item').attr('check-id')
- }).assign({
- "check": false
- }).write();
- } else {
- current.parents('.check-item').addClass("checked");
- check.find({
- id: current.parents('.check-item').attr('check-id')
- }).assign({
- "check": true
- }).write();
- }
- parent.find('.checklist-progress').css('width', `${(check.filter({ check: true }).value().length / check.value().length) * 100}%`);
- }).parents('.check-item').find('.check-name').click((event) => {
- if ($(event.currentTarget).hasClass("is-idle")) {
- $(event.currentTarget).removeClass("is-idle");
- $(event.currentTarget).find(".js-check-name-input").focus();
- $(event.currentTarget).find(".js-check-name-input").trigger("click");
- }
- }).find('.js-check-name-input').keydown((event) => {
- if (event.keyCode == 13) {
- let current = $(event.currentTarget),
- parent = current.parents('.checklist-card'),
- checklist = quadrosDB.get('quadros').find({
- id: $('.quadros-list-container.active').attr('quadro-id')
- }).get('lists').find({
- id: current.parents('.warpper-list').attr('list-id')
- }).get('cards').find({
- id: current.parents('.warpper-list').find('.list-card.active').attr('card-id')
- }).get('checklist').find({
- id: parent.attr('checklist-id')
- }).get('itens').find({
- id: current.parents('.check-item').attr('check-id')
- });
- if (!current.parent().hasClass("is-idle")) {
- current.parent().addClass("is-idle");
- }
- checklist.set('name', current.val()).write();
- current.parent().children('.check-name-text').text(current.val());
- }
- }).focusout(event => {
- if (!$(event.currentTarget).parent().hasClass("is-idle")) {
- $(event.currentTarget).parent().addClass("is-idle");
- }
- }).parents('.check-item').parent().find('.check-item-close').click((event) => {
- let current = $(event.currentTarget),
- parent = current.parents('.checklist-card'),
- checklist = quadrosDB.get('quadros').find({
- id: $('.quadros-list-container.active').attr('quadro-id')
- }).get('lists').find({
- id: current.parents('.warpper-list').attr('list-id')
- }).get('cards').find({
- id: current.parents('.warpper-list').find('.list-card.active').attr('card-id')
- }).get('checklist').find({
- id: parent.attr('checklist-id')
- }).get('itens');
- checklist.remove({
- id: current.parent().find('.check-item').attr('check-id')
- }).write();
- current.parent().find('.check-item').parent().remove();
- parent.find('.checklist-progress').css('width', `${isNaN((checklist.filter({ check: true }).value().length / checklist.value().length) * 100) ? 0 : (checklist.filter({ check: true }).value().length / checklist.value().length) * 100}%`);
- }).parent();
- }
- console.log('[module] Boards OK!');
- module.exports = append;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement