| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 | 
							- define([ "require", "backbone", "hbs!tmpl/schema/SchemaTableLayoutView_tmpl", "collection/VSchemaList", "utils/Utils", "utils/CommonViewFunction", "utils/Messages", "utils/Globals", "utils/Enums", "utils/UrlLinks" ], function(require, Backbone, SchemaTableLayoutViewTmpl, VSchemaList, Utils, CommonViewFunction, Messages, Globals, Enums, UrlLinks) {
 
-     "use strict";
 
-     var SchemaTableLayoutView = Backbone.Marionette.LayoutView.extend({
 
-         _viewName: "SchemaTableLayoutView",
 
-         template: SchemaTableLayoutViewTmpl,
 
-         regions: {
 
-             RSchemaTableLayoutView: "#r_schemaTableLayoutView"
 
-         },
 
-         ui: {
 
-             tagClick: '[data-id="tagClick"]',
 
-             addTag: "[data-id='addTag']",
 
-             addAssignTag: "[data-id='addAssignTag']",
 
-             checkDeletedEntity: "[data-id='checkDeletedEntity']"
 
-         },
 
-         events: function() {
 
-             var events = {};
 
-             return events["click " + this.ui.addTag] = "checkedValue", events["click " + this.ui.addAssignTag] = "checkedValue", 
 
-             events["click " + this.ui.tagClick] = function(e) {
 
-                 if ("i" == e.target.nodeName.toLocaleLowerCase()) this.onClickTagCross(e); else {
 
-                     var value = e.currentTarget.text;
 
-                     Utils.setUrl({
 
-                         url: "#!/tag/tagAttribute/" + value,
 
-                         mergeBrowserUrl: !1,
 
-                         trigger: !0
 
-                     });
 
-                 }
 
-             }, events["click " + this.ui.checkDeletedEntity] = "onCheckDeletedEntity", events;
 
-         },
 
-         initialize: function(options) {
 
-             _.extend(this, _.pick(options, "guid", "classificationDefCollection", "entityDefCollection", "attribute", "fetchCollection", "enumDefCollection", "searchVent")), 
 
-             this.schemaCollection = new VSchemaList([], {}), this.commonTableOptions = {
 
-                 collection: this.schemaCollection,
 
-                 includeFilter: !1,
 
-                 includePagination: !0,
 
-                 includePageSize: !0,
 
-                 includeGotoPage: !0,
 
-                 includeFooterRecords: !0,
 
-                 includeOrderAbleColumns: !1,
 
-                 includeAtlasTableSorting: !0,
 
-                 gridOpts: {
 
-                     className: "table table-hover backgrid table-quickMenu",
 
-                     emptyText: "No records found!"
 
-                 },
 
-                 filterOpts: {},
 
-                 paginatorOpts: {}
 
-             }, this.bindEvents(), this.bradCrumbList = [];
 
-         },
 
-         bindEvents: function() {
 
-             var that = this;
 
-             this.listenTo(this.schemaCollection, "backgrid:selected", function(model, checked) {
 
-                 this.arr = [], checked === !0 ? model.set("isEnable", !0) : model.set("isEnable", !1), 
 
-                 this.schemaCollection.find(function(item) {
 
-                     var obj = item.toJSON();
 
-                     item.get("isEnable") && that.arr.push({
 
-                         id: obj.guid,
 
-                         model: obj
 
-                     });
 
-                 }), this.arr.length > 0 ? this.$(".multiSelectTag").show() : this.$(".multiSelectTag").hide();
 
-             });
 
-         },
 
-         onRender: function() {
 
-             this.generateTableData();
 
-         },
 
-         generateTableData: function(checkedDelete) {
 
-             var that = this;
 
-             if (this.activeObj = [], this.deleteObj = [], this.schemaTableAttribute = null, 
 
-             this.attribute && this.attribute[0]) {
 
-                 var firstColumn = this.attribute[0], defObj = that.entityDefCollection.fullCollection.find({
 
-                     name: firstColumn.typeName
 
-                 });
 
-                 if (defObj && defObj.get("options") && defObj.get("options").schemaAttributes && firstColumn) try {
 
-                     var mapObj = JSON.parse(defObj.get("options").schemaAttributes);
 
-                     that.schemaTableAttribute = _.pick(firstColumn.attributes, mapObj);
 
-                 } catch (e) {}
 
-             }
 
-             _.each(this.attribute, function(obj) {
 
-                 Enums.entityStateReadOnly[obj.status] ? Enums.entityStateReadOnly[obj.status] && that.deleteObj.push(obj) : (that.activeObj.push(obj), 
 
-                 that.schemaCollection.push(obj));
 
-             }), 0 === this.schemaCollection.length && this.deleteObj.length && (this.ui.checkDeletedEntity.find("input").prop("checked", !0), 
 
-             this.schemaCollection.fullCollection.reset(this.deleteObj)), 0 === this.activeObj.length && 0 === this.deleteObj.length && this.ui.checkDeletedEntity.hide(), 
 
-             this.renderTableLayoutView();
 
-         },
 
-         showLoader: function() {
 
-             this.$(".fontLoader").show(), this.$(".tableOverlay").show();
 
-         },
 
-         hideLoader: function(argument) {
 
-             this.$(".fontLoader").hide(), this.$(".tableOverlay").hide();
 
-         },
 
-         renderTableLayoutView: function() {
 
-             var that = this;
 
-             require([ "utils/TableLayout" ], function(TableLayout) {
 
-                 var columnCollection = Backgrid.Columns.extend({}), columns = new columnCollection(that.getSchemaTableColumns());
 
-                 that.RSchemaTableLayoutView.show(new TableLayout(_.extend({}, that.commonTableOptions, {
 
-                     columns: columns
 
-                 }))), that.$(".multiSelectTag").hide(), Utils.generatePopover({
 
-                     el: that.$('[data-id="showMoreLess"]'),
 
-                     contentClass: "popover-tag-term",
 
-                     viewFixedPopover: !0,
 
-                     popoverOptions: {
 
-                         container: null,
 
-                         content: function() {
 
-                             return $(this).find(".popup-tag-term").children().clone();
 
-                         }
 
-                     }
 
-                 });
 
-             });
 
-         },
 
-         getSchemaTableColumns: function() {
 
-             var col = {
 
-                 Check: {
 
-                     name: "selected",
 
-                     label: "",
 
-                     cell: "select-row",
 
-                     headerCell: "select-all"
 
-                 }
 
-             };
 
-             if (this.schemaTableAttribute) return _.each(_.keys(this.schemaTableAttribute), function(key) {
 
-                 "position" !== key && (col[key] = {
 
-                     label: key.capitalize(),
 
-                     cell: "html",
 
-                     editable: !1,
 
-                     className: "searchTableName",
 
-                     formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
 
-                         fromRaw: function(rawValue, model) {
 
-                             var value = _.escape(model.get("attributes")[key]);
 
-                             if ("name" === key && model.get("guid")) {
 
-                                 var nameHtml = '<a href="#!/detailPage/' + model.get("guid") + '">' + value + "</a>";
 
-                                 return model.get("status") && Enums.entityStateReadOnly[model.get("status")] ? (nameHtml += '<button type="button" title="Deleted" class="btn btn-action btn-md deleteBtn"><i class="fa fa-trash"></i></button>', 
 
-                                 '<div class="readOnly readOnlyLink">' + nameHtml + "</div>") : nameHtml;
 
-                             }
 
-                             return value;
 
-                         }
 
-                     })
 
-                 });
 
-             }), col.tag = {
 
-                 label: "Classifications",
 
-                 cell: "Html",
 
-                 editable: !1,
 
-                 sortable: !1,
 
-                 className: "searchTag",
 
-                 formatter: _.extend({}, Backgrid.CellFormatter.prototype, {
 
-                     fromRaw: function(rawValue, model) {
 
-                         var obj = model.toJSON();
 
-                         return obj.status && Enums.entityStateReadOnly[obj.status] ? '<div class="readOnly">' + CommonViewFunction.tagForTable(obj) : CommonViewFunction.tagForTable(obj);
 
-                     }
 
-                 })
 
-             }, this.schemaCollection.constructor.getTableCols(col, this.schemaCollection);
 
-         },
 
-         checkedValue: function(e) {
 
-             e && e.stopPropagation();
 
-             var guid = "", that = this, isTagMultiSelect = $(e.currentTarget).hasClass("multiSelectTag");
 
-             isTagMultiSelect && this.arr && this.arr.length ? that.addTagModalView(guid, this.arr) : (guid = that.$(e.currentTarget).data("guid"), 
 
-             that.addTagModalView(guid));
 
-         },
 
-         addTagModalView: function(guid, multiple) {
 
-             var that = this, tagList = that.schemaCollection.find({
 
-                 guid: guid
 
-             });
 
-             require([ "views/tag/AddTagModalView" ], function(AddTagModalView) {
 
-                 new AddTagModalView({
 
-                     guid: guid,
 
-                     multiple: multiple,
 
-                     tagList: _.map(tagList ? tagList.get("classifications") : [], function(obj) {
 
-                         return obj.typeName;
 
-                     }),
 
-                     callback: function() {
 
-                         that.searchVent && that.searchVent.trigger("Classification:Count:Update"), that.fetchCollection(), 
 
-                         that.arr = [];
 
-                     },
 
-                     hideLoader: that.hideLoader.bind(that),
 
-                     showLoader: that.showLoader.bind(that),
 
-                     collection: that.classificationDefCollection,
 
-                     enumDefCollection: that.enumDefCollection
 
-                 });
 
-             });
 
-         },
 
-         onClickTagCross: function(e) {
 
-             var that = this, tagName = $(e.target).data("name"), guid = $(e.target).data("guid"), assetName = $(e.target).data("assetname");
 
-             CommonViewFunction.deleteTag({
 
-                 tagName: tagName,
 
-                 guid: guid,
 
-                 msg: "<div class='ellipsis-with-margin'>Remove: <b>" + _.escape(tagName) + "</b> assignment from <b>" + _.escape(assetName) + " ?</b></div>",
 
-                 titleMessage: Messages.removeTag,
 
-                 okText: "Remove",
 
-                 showLoader: that.showLoader.bind(that),
 
-                 hideLoader: that.hideLoader.bind(that),
 
-                 callback: function() {
 
-                     that.searchVent && that.searchVent.trigger("Classification:Count:Update"), that.fetchCollection();
 
-                 }
 
-             });
 
-         },
 
-         onCheckDeletedEntity: function(e) {
 
-             e.target.checked ? this.deleteObj.length && this.schemaCollection.fullCollection.reset(this.activeObj.concat(this.deleteObj)) : this.schemaCollection.fullCollection.reset(this.activeObj);
 
-         }
 
-     });
 
-     return SchemaTableLayoutView;
 
- });
 
 
  |