bremen_short_url/BackEnd/assets/javascript/pages/board-demo.min.js

3 lines
5.2 KiB
JavaScript

"use strict";function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}var BoardDemo=function(){function e(){_classCallCheck(this,e),this.ntTodos=[{id:0,desc:"Eat corn on the cob",checked:!1}],this.init()}return _createClass(e,[{key:"init",value:function(){this.handleModalLayerContent(),this.handleDntAssignees(),this.handleDntLabels(),this.handleNtTodos(),this.handleNewTaskForm()}},{key:"handleModalLayerContent",value:function(){$("#modalLayer2").on("show.bs.modal",function(e){var t=$(e.relatedTarget),n=t.text(),o=t.data("content-layer"),s=$(this);s.find("#layer-title").text(n),s.find(".modal-body").html("\n <p>If necessary, you could initiate an AJAX request here (and then do the updating in a callback).</p>\n <p>e.g. load <strong>".concat(o,"</strong> file then update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.</p>"))})}},{key:"handleDntAssignees",value:function(){var i=this;$(document).on("change",'[name="taskAssignees[]"]',function(){$(this).hasClass("task-unassignees")&&$("#dntmAssignees .task-unassignees").is(":checked")?$("#dntmAssignees .task-assignees:checked").prop("checked",!1):$("#dntmAssignees .task-unassignees").prop("checked",!1);var e=$("#dntmAssignees .task-assignees:checked"),t=$("#dntAssignees > span:first-child"),n="Unassigned",o=[];e.each(function(){o.push($(this).data("label"))});var s=o.length;s?(o.sort(),n=1===s?o[0]:"".concat(o[0]," + ").concat(s-1," more"),t.text(n),$("#dntDivider").removeClass("d-none")):(t.text(n),$("#dntmAssignees .task-unassignees").prop("checked",!0),$("#dntDivider").addClass("d-none"));var a=$("#dntmAssignees > [data-sort]").get(),d=i.sortingElems(a);$.each(d,function(e,t){$(t).find('[name="taskAssignees[]"]').is(":checked")?$("#dntDivider").before(t):$("#dntmAssignees").append(t)})})}},{key:"handleDntLabels",value:function(){$(document).on("change",'[name="taskLabels[]"]',function(){$(this).hasClass("task-nolabel")&&$("#dntLabels .task-nolabel").is(":checked")?$("#dntLabels .task-label:checked").prop("checked",!1):$("#dntLabels .task-nolabel").prop("checked",!1);var e=$("#dntLabels .task-label:checked"),t=$("#bntLabels > span:first-child"),n="No Label",o=[];e.each(function(){o.push($(this).data("label"))});var s=o.length;s?(o.sort(),n=1===s?o[0]:"".concat(o[0]," + ").concat(s-1," more"),t.text(n)):(t.text(n),$("#dntLabels .task-nolabel").prop("checked",!0))})}},{key:"handleNtTodos",value:function(){var n=this,o=function(){var e=!(0<arguments.length&&void 0!==arguments[0])||arguments[0];$("#ntTodosInpt").val("").focus(),e||$("#ntTodosInpt").blur().parents(".publisher").removeClass("focus")};$(document).on("keydown","#ntTodosInpt",function(e){if(13===e.keyCode)return e.preventDefault(),!1}).on("keyup","#ntTodosInpt",function(e){var t={id:n.ntTodos.length,desc:$(this).val(),checked:!1};13===e.keyCode&&(n.addNtTodo(t),o())}).on("click","#ntTodosAdd",function(){n.addNtTodo({id:n.ntTodos.length,desc:$("#ntTodosInpt").val(),checked:!1}),o()}).on("click","#ntTodosClear",function(){o(!1)})}},{key:"handleNewTaskForm",value:function(){var o=this;this.ntMarkdown=new SimpleMDE({element:document.querySelector("#taskDescription"),spellChecker:!1,status:!1,toolbar:!1}),$("#addNewTask").on("submit",function(){var e=$(this),t=e.serializeArray(),n=document.querySelector('[name="taskAttachment"]').files;return t.push({taskAttachment:n}),e.trigger("reset"),o.ntMarkdown.value(""),o.resetNtTodos(),$("#modalNewTask").modal("hide"),!1})}},{key:"getNtTodosMeter",value:function(){$("#ntTodosMeter").text("0/".concat(this.ntTodos.length))}},{key:"addNtTodo",value:function(e){if(""!==e.desc){this.ntTodos.push(e),$('[name="ntTodos"]').val(JSON.stringify(this.ntTodos)),this.getNtTodosMeter();var t='<div class="todo">\n <div class="custom-control custom-checkbox">\n <input type="checkbox" class="custom-control-input" id="todo'.concat(e.id,'" value="').concat(e.id,'">\n <label class="custom-control-label" for="todo').concat(e.id,'">').concat(e.desc,'</label>\n </div>\n <div class="todo-actions pr-1">\n <button type="button" class="btn btn-sm btn-light" onclick="boardDemo.removeNtTodo(').concat(e.id,')">Delete</button>\n </div>\n </div>');$("#ntTodos").append(t)}}},{key:"removeNtTodo",value:function(t){this.ntTodos=this.ntTodos.filter(function(e){return e.id!==t}),$('[name="ntTodos"]').val(JSON.stringify(this.ntTodos)),this.getNtTodosMeter(),$("#todo".concat(t)).parents(".todo").remove()}},{key:"resetNtTodos",value:function(){this.ntTodos=[],$('[name="ntTodos"]').val(JSON.stringify(this.ntTodos)),this.getNtTodosMeter(),$("#ntTodos").empty()}},{key:"sortingElems",value:function(e){return e.sort(function(e,t){return $(e).data("sort").toUpperCase().localeCompare($(t).data("sort").toUpperCase())})}}]),e}();$(document).on("theme:init",function(){window.boardDemo=new BoardDemo});
//# sourceMappingURL=../../sourcemaps/pages/board-demo.min.js.map