/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ define(['require', 'backbone', 'hbs!tmpl/search/SearchResultLayoutView_tmpl', 'modules/Modal', 'models/VEntity', 'utils/Utils', 'utils/Globals', 'collection/VSearchList', 'models/VCommon', 'utils/CommonViewFunction', 'utils/Messages', 'utils/Enums', 'utils/UrlLinks' ], function(require, Backbone, SearchResultLayoutViewTmpl, Modal, VEntity, Utils, Globals, VSearchList, VCommon, CommonViewFunction, Messages, Enums, UrlLinks) { 'use strict'; var SearchResultLayoutView = Backbone.Marionette.LayoutView.extend( /** @lends SearchResultLayoutView */ { _viewName: 'SearchResultLayoutView', template: SearchResultLayoutViewTmpl, /** Layout sub regions */ regions: { RTagLayoutView: "#r_tagLayoutView", RSearchLayoutView: "#r_searchLayoutView", REntityTableLayoutView: "#r_searchResultTableLayoutView", RSearchQuery: '#r_searchQuery' }, /** ui selector cache */ ui: { tagClick: '[data-id="tagClick"]', addTag: '[data-id="addTag"]', addTerm: '[data-id="addTerm"]', showMoreLess: '[data-id="showMoreLess"]', showMoreLessTerm: '[data-id="showMoreLessTerm"]', paginationDiv: '[data-id="paginationDiv"]', previousData: "[data-id='previousData']", nextData: "[data-id='nextData']", pageRecordText: "[data-id='pageRecordText']", addAssignTag: "[data-id='addAssignTag']", editEntityButton: "[data-id='editEntityButton']", createEntity: "[data-id='createEntity']", checkDeletedEntity: "[data-id='checkDeletedEntity']", containerCheckBox: "[data-id='containerCheckBox']", filterPanel: "#filterPanel", filterQuery: "#filterQuery" }, templateHelpers: function() { return { entityCreate: Globals.entityCreate, searchType: this.searchType }; }, /** ui events hash */ events: function() { var events = {}; events["click " + this.ui.tagClick] = function(e) { var scope = $(e.currentTarget); if (e.target.nodeName.toLocaleLowerCase() == "i") { this.onClickTagCross(e); } else { if (scope.hasClass('term')) { var url = scope.data('href').split(".").join("/terms/"); Globals.saveApplicationState.tabState.stateChanged = false; Utils.setUrl({ url: '#!/taxonomy/detailCatalog' + UrlLinks.taxonomiesApiUrl() + '/' + url, mergeBrowserUrl: false, trigger: true }); } else { Utils.setUrl({ url: '#!/tag/tagAttribute/' + scope.text(), mergeBrowserUrl: false, trigger: true }); } } }; events["click " + this.ui.addTag] = 'checkedValue'; events["click " + this.ui.addTerm] = 'checkedValue'; events["click " + this.ui.addAssignTag] = 'checkedValue'; events["click " + this.ui.showMoreLess] = function(e) { $(e.currentTarget).parents('tr').siblings().find("div.popover.popoverTag").hide(); $(e.currentTarget).parent().find("div.popover").toggle(); var positionContent = $(e.currentTarget).position(); positionContent.top = positionContent.top + 26; positionContent.left = positionContent.left - 67; $(e.currentTarget).parent().find("div.popover").css(positionContent); }; events["click " + this.ui.showMoreLessTerm] = function(e) { $(e.currentTarget).find('i').toggleClass('fa fa-angle-right fa fa-angle-up'); $(e.currentTarget).parents('.searchTerm').find('div.termTableBreadcrumb>div.showHideDiv').toggleClass('hide'); if ($(e.currentTarget).find('i').hasClass('fa-angle-right')) { $(e.currentTarget).find('span').text('Show More'); } else { $(e.currentTarget).find('span').text('Show less'); } }; events["click " + this.ui.nextData] = "onClicknextData"; events["click " + this.ui.previousData] = "onClickpreviousData"; events["click " + this.ui.editEntityButton] = "onClickEditEntity"; events["click " + this.ui.createEntity] = 'onClickCreateEntity'; events["click " + this.ui.checkDeletedEntity] = 'onCheckDeletedEntity'; return events; }, /** * intialize a new SearchResultLayoutView Layout * @constructs */ initialize: function(options) { _.extend(this, _.pick(options, 'value', 'initialView', 'entityDefCollection', 'typeHeaders', 'searchVent', 'enumDefCollection', 'tagCollection', 'filterObj')); var pagination = ""; this.entityModel = new VEntity(); this.searchCollection = new VSearchList(); this.limit = 25; this.asyncFetchCounter = 0; this.offset = 0; this.columnToShow = this.value && this.value.attributes ? this.value.attributes.split(',') : []; this.commonTableOptions = { collection: this.searchCollection, includePagination: false, includeFooterRecords: false, includeColumnManager: (this.value && this.value.searchType === "basic" ? true : false), includeOrderAbleColumns: false, columnOpts: { opts: { initialColumnsVisible: null, saveState: false }, visibilityControlOpts: { buttonTemplate: _.template("<button class='btn btn-atlasAction btn-atlas'>Columns <i class='fa fa-caret-down'></i></button>") } }, gridOpts: { emptyText: 'No Record found!', className: 'table table-hover backgrid table-quickMenu' }, filterOpts: {}, paginatorOpts: {} }; this.bindEvents(); this.bradCrumbList = []; this.arr = []; this.searchType = 'Basic Search'; if (this.value && this.value.searchType && this.value.searchType == 'dsl') { this.searchType = 'Advanced Search'; } }, bindEvents: function() { var that = this; this.listenTo(this.searchCollection, 'backgrid:selected', function(model, checked) { this.arr = []; if (checked === true) { model.set("isEnable", true); } else { model.set("isEnable", false); } this.searchCollection.find(function(item) { if (item.get('isEnable')) { var term = []; var obj = item.toJSON(); that.arr.push({ id: obj.guid, model: obj }); } }); if (this.arr.length > 0) { if (Globals.taxonomy) { this.$('.multiSelectTerm').show(); } this.$('.multiSelectTag').show(); } else { if (Globals.taxonomy) { this.$('.multiSelectTerm').hide(); } this.$('.multiSelectTag').hide(); } }); this.listenTo(this.searchCollection, "error", function(model, response) { this.$('.fontLoader').hide(); this.$('.tableOverlay').hide(); var responseJSON = response && response.responseJSON ? response.responseJSON : null; if (responseJSON && (responseJSON.errorMessage || responseJSON.message || responseJSON.error)) { Utils.notifyError({ content: responseJSON.errorMessage || responseJSON.message || responseJSON.error }); } else { if (response.statusText !== "abort") { Utils.notifyError({ content: "Invalid Expression" }); } } }, this); this.listenTo(this.searchCollection, "state-changed", function(state) { if (Utils.getUrlState.isSearchTab()) { this.updateColumnList(state); var columnList = JSON.parse(Utils.localStorage.getValue('columnList')); if (!columnList && this.value.type) { columnList = {}; columnList[this.value.type] = this.value.attributes; } else { columnList[this.value.type] = this.value.attributes; } Utils.localStorage.setValue('columnList', JSON.stringify(columnList)); Utils.setUrl({ url: '#!/search/searchResult', urlParams: this.value, mergeBrowserUrl: false, trigger: true }); } }, this); this.listenTo(this.searchVent, "search:refresh", function(model, response) { this.fetchCollection(); }, this); this.listenTo(this.searchVent, "searchAttribute", function(obj) { this.showHideFilter(obj); }, this); }, onRender: function() { if (!this.initialView) { var value = {}, that = this; if (this.value) { value = this.value; } else { value = { 'query': null, 'searchType': 'basic' }; } this.updateColumnList(); this.fetchCollection(value); $('body').click(function(e) { var iconEvnt = e.target.nodeName; if (that.$('.popoverContainer').length) { if ($(e.target).hasClass('tagDetailPopover') || iconEvnt == "I") { return; } that.$('.popover.popoverTag').hide(); } }); } else { if (Globals.entityTypeConfList) { this.$(".entityLink").show(); } } this.showHideFilter(); }, updateColumnList: function(updatedList) { if (updatedList) { var listOfColumns = [] _.map(updatedList, function(obj) { var key = obj.name; if (key == "selected" || key == "displayText" || key == "description" || key == "typeName" || key == "owner" || key == "tag" || key == "terms") { return; } if (obj.renderable) { listOfColumns.push(obj.name); } }); this.value.attributes = listOfColumns.length ? listOfColumns.join(",") : null; } this.columnToShow = this.value && this.value.attributes ? this.value.attributes.split(',') : []; }, generateQueryOfFilter: function() { var value = this.value, entityFilters = this.filterObj && this.filterObj.entityFilters ? this.filterObj.entityFilters[value.type] : null, tagFilters = this.filterObj && this.filterObj.tagFilters ? this.filterObj.tagFilters[value.tag] : null, queryArray = [], objToString = function(filterObj) { var tempObj = []; _.each(filterObj.rules, function(obj) { tempObj.push('<span class="key">' + obj.field + '</span> <span class="operator">' + obj.operator + '</span> <span class="value">' + obj.value + "</span>") }); return tempObj.join(' <span class="operator">AND</span> '); } if (entityFilters) { var typeKeyValue = '<span class="key">Type:</span> <span class="value">' + value.type + '</span> <span class="operator">AND</span> '; queryArray = queryArray.concat(typeKeyValue + objToString(entityFilters.rule)); } if (tagFilters) { var tagKeyValue = '<span class="key">Tag:</span> <span class="value">' + value.tag + '</span> <span class="operator">AND</span> '; queryArray = queryArray.concat(tagKeyValue + objToString(tagFilters.rule)); } if (queryArray.length == 2) { return "<span>(</span> " + queryArray.join('<span> )</span> <span>AND</span> <span>(</span> ') + " <span>)</span>"; } else { return queryArray.join(); } }, showHideFilter: function() { if (this.value) { if (Utils.getUrlState.isSearchTab() && this.value.searchType == "basic") { var query = this.generateQueryOfFilter(); if (query) { this.ui.filterQuery.html(query); this.ui.filterPanel.show(); } else this.ui.filterPanel.hide(); } else { this.ui.filterPanel.hide(); } } else { this.ui.filterPanel.hide(); } }, fetchCollection: function(value, clickObj) { var that = this, isPostMethod = this.value.searchType === "basic" && Utils.getUrlState.isSearchTab(), tagFilters = this.filterObj && this.filterObj.tagFilters ? this.filterObj.tagFilters[this.value.tag] : null, entityFilters = this.filterObj && this.filterObj.entityFilters ? this.filterObj.entityFilters[this.value.type] : null, filterObj = { 'entityFilters': entityFilters ? entityFilters.result : null, 'tagFilters': tagFilters ? tagFilters.result : null, 'attributes': this.columnToShow.length ? this.columnToShow : null } this.showLoader(); if (Globals.searchApiCallRef && Globals.searchApiCallRef.readyState === 1) { Globals.searchApiCallRef.abort(); } var apiObj = { skipDefaultError: true, success: function(model, response) { Globals.searchApiCallRef = undefined; if (!(that.ui.pageRecordText instanceof jQuery)) { return; } if (isPostMethod) { that.searchCollection.reset(model.entities); } if (that.searchCollection.models.length === 0 && that.offset > that.limit) { that.ui.nextData.attr('disabled', true); that.offset = that.offset - that.limit; that.hideLoader(); return; } if (that.searchCollection.models.length < that.limit) { that.ui.nextData.attr('disabled', true); } else { that.ui.nextData.attr('disabled', false); } if (that.offset === 0) { that.pageFrom = 1; that.pageTo = that.limit; } else if (clickObj && clickObj.next) { //on next click, adding "1" for showing the another records. that.pageTo = that.offset + that.limit; that.pageFrom = that.offset + 1; } else if (clickObj && clickObj.previous) { that.pageTo = that.pageTo - that.limit; that.pageFrom = (that.pageTo - that.limit) + 1; } that.ui.pageRecordText.html("Showing <u>" + that.searchCollection.models.length + " records</u> From " + that.pageFrom + " - " + that.pageTo); if (that.offset < that.limit && that.pageFrom < 26) { that.ui.previousData.attr('disabled', true); } that.renderTableLayoutView(); var resultArr = []; if (that.searchCollection.queryParams.typeName) { resultArr.push(that.searchCollection.queryParams.typeName) } if (that.searchCollection.queryParams.classification) { resultArr.push(that.searchCollection.queryParams.classification) } if (that.searchCollection.queryParams.query) { resultArr.push(that.searchCollection.queryParams.query) } var searchString = 'Results for <b>' + _.escape(resultArr.join(that.searchType == 'Advanced Search' ? " " : " & ")) + '</b>'; if (Globals.entityCreate && Globals.entityTypeConfList && Utils.getUrlState.isSearchTab()) { searchString += "<p>If you do not find the entity in search result below then you can" + '<a href="javascript:void(0)" data-id="createEntity"> create new entity</a></p>'; } that.$('.searchResult').html(searchString); }, silent: true, reset: true } if (value) { $.extend(this.searchCollection.queryParams, { limit: this.limit, excludeDeletedEntities: true }); if (value.searchType) { this.searchCollection.url = UrlLinks.searchApiUrl(value.searchType); } _.extend(this.searchCollection.queryParams, { 'query': (value.query ? value.query.trim() : null), 'typeName': value.type || null, 'classification': value.tag || null }); if (isPostMethod) { apiObj['data'] = _.extend({}, filterObj, _.pick(this.searchCollection.queryParams, 'query', 'excludeDeletedEntities', 'limit', 'offset', 'typeName', 'classification')) Globals.searchApiCallRef = this.searchCollection.getBasicRearchResult(apiObj); this.showHideFilter(); } else { apiObj.data = null; Globals.searchApiCallRef = this.searchCollection.fetch(apiObj); } } else { if (isPostMethod) { apiObj['data'] = _.extend({}, filterObj, _.pick(this.searchCollection.queryParams, 'query', 'excludeDeletedEntities', 'limit', 'offset', 'typeName', 'classification')); Globals.searchApiCallRef = this.searchCollection.getBasicRearchResult(apiObj); } else { apiObj.data = null; Globals.searchApiCallRef = this.searchCollection.fetch(apiObj); } } }, renderSearchQueryView: function() { var that = this; require(['views/search/SearchQueryView'], function(SearchQueryView) { that.RSearchQuery.show(new SearchQueryView({ value: that.value, searchVent: that.searchVent })); }); }, renderTableLayoutView: function(col) { var that = this, count = 5; require(['utils/TableLayout'], function(TableLayout) { var columnCollection = Backgrid.Columns.extend({ sortKey: "position", comparator: function(item) { return item.get(this.sortKey) || 999; }, setPositions: function() { _.each(this.models, function(model, index) { model.set("position", index + 1, { silent: true }); }); return this; } }); var columns = new columnCollection(that.getFixedDslColumn()); columns.setPositions().sort(); //var columns = new Backgrid.Columns(that.getFixedDslColumn()); that.REntityTableLayoutView.show(new TableLayout(_.extend({}, that.commonTableOptions, { columns: columns }))); if (that.value.searchType !== "dsl") { that.ui.containerCheckBox.show(); } else { that.ui.containerCheckBox.hide(); } that.ui.paginationDiv.show(); that.$(".ellipsis .inputAssignTag").hide(); that.renderBreadcrumb(); that.checkTableFetch(); }); }, renderBreadcrumb: function() { var that = this; _.each(this.bradCrumbList, function(object) { _.each(object.value, function(subObj) { var scopeObject = that.$('[dataterm-id="' + object.scopeId + '"]').find('[dataterm-name="' + subObj.name + '"] .liContent'); CommonViewFunction.breadcrumbMaker({ urlList: subObj.valueUrl, scope: scopeObject }); }); }); }, checkTableFetch: function() { if (this.asyncFetchCounter <= 0) { this.hideLoader(); } }, getFixedDslColumn: function() { var that = this, nameCheck = 0, col = {}; col['Check'] = { name: "selected", label: "Select", cell: "select-row", headerCell: "select-all" }; col['displayText'] = { label: "Name", cell: "html", editable: false, sortable: false, resizeable: true, orderable: true, renderable: true, className: "searchTableName", formatter: _.extend({}, Backgrid.CellFormatter.prototype, { fromRaw: function(rawValue, model) { var obj = model.toJSON(), nameHtml = "", name = Utils.getName(obj); if (obj.guid) { nameHtml = '<a title="' + name + '" href="#!/detailPage/' + obj.guid + '">' + name + '</a>'; } else { nameHtml = '<a title="' + name + '">' + name + '</a>'; } if (obj.status && Enums.entityStateReadOnly[obj.status]) { nameHtml += '<button type="button" title="Deleted" class="btn btn-atlasAction btn-atlas deleteBtn"><i class="fa fa-trash"></i></button>'; return '<div class="readOnly readOnlyLink">' + nameHtml + '</div>'; } else { if (Globals.entityUpdate) { if (Globals.entityTypeConfList && _.isEmptyArray(Globals.entityTypeConfList)) { nameHtml += '<button title="Edit" data-id="editEntityButton" data-giud= "' + obj.guid + '" class="btn btn-atlasAction btn-atlas editBtn"><i class="fa fa-pencil"></i></button>' } else { if (_.contains(Globals.entityTypeConfList, obj.typeName)) { nameHtml += '<button title="Edit" data-id="editEntityButton" data-giud= "' + obj.guid + '" class="btn btn-atlasAction btn-atlas editBtn"><i class="fa fa-pencil"></i></button>' } } } return nameHtml; } } }) }; col['description'] = { label: "Description", cell: "String", editable: false, sortable: false, resizeable: true, orderable: true, renderable: true, formatter: _.extend({}, Backgrid.CellFormatter.prototype, { fromRaw: function(rawValue, model) { var obj = model.toJSON(); if (obj && obj.attributes && obj.attributes.description) { return obj.attributes.description; } } }) }; col['typeName'] = { label: "Type", cell: "Html", editable: false, sortable: false, resizeable: true, orderable: true, renderable: true, formatter: _.extend({}, Backgrid.CellFormatter.prototype, { fromRaw: function(rawValue, model) { var obj = model.toJSON(); if (obj && obj.typeName) { return '<a title="Search ' + obj.typeName + '" href="#!/search/searchResult?query=' + obj.typeName + ' &searchType=dsl&dslChecked=true">' + obj.typeName + '</a>'; } } }) }; col['owner'] = { label: "Owner", cell: "String", editable: false, sortable: false, resizeable: true, orderable: true, renderable: true, formatter: _.extend({}, Backgrid.CellFormatter.prototype, { fromRaw: function(rawValue, model) { var obj = model.toJSON(); if (obj && obj.attributes && obj.attributes.owner) { return obj.attributes.owner; } } }) }; col['tag'] = { label: "Tags", cell: "Html", editable: false, sortable: false, resizeable: true, orderable: true, renderable: true, className: 'searchTag', formatter: _.extend({}, Backgrid.CellFormatter.prototype, { fromRaw: function(rawValue, model) { var obj = model.toJSON(); if (obj.status && Enums.entityStateReadOnly[obj.status]) { return '<div class="readOnly">' + CommonViewFunction.tagForTable(obj); + '</div>'; } else { return CommonViewFunction.tagForTable(obj); } } }) }; if (Globals.taxonomy) { col['terms'] = { label: "Terms", cell: "Html", editable: false, sortable: false, resizeable: true, orderable: true, renderable: true, className: 'searchTerm', formatter: _.extend({}, Backgrid.CellFormatter.prototype, { fromRaw: function(rawValue, model) { var obj = model.toJSON(); var returnObject = CommonViewFunction.termTableBreadcrumbMaker(obj); if (returnObject.object) { that.bradCrumbList.push(returnObject.object); } if (obj.status && Enums.entityStateReadOnly[obj.status]) { return '<div class="readOnly">' + returnObject.html + '</div>'; } else { return returnObject.html; } } }) }; } if (this.value && this.value.searchType === "basic") { var def = this.entityDefCollection.fullCollection.find({ name: this.value.type }); if (def) { var attrObj = Utils.getNestedSuperTypeObj({ data: def.toJSON(), collection: this.entityDefCollection, attrMerge: true }); _.each(attrObj, function(obj, key) { var key = obj.name, isEenderable = that.columnToShow.length ? _.contains(that.columnToShow, key) : false; if (key == "name" || key == "description" || key == "owner") { return; } col[obj.name] = { label: obj.name.capitalize(), cell: "Html", editable: false, sortable: false, resizeable: true, orderable: true, renderable: isEenderable, formatter: _.extend({}, Backgrid.CellFormatter.prototype, { fromRaw: function(rawValue, model) { var modelObj = model.toJSON(); if (modelObj && modelObj.attributes && !_.isUndefined(modelObj.attributes[key])) { var tempObj = { 'scope': that, 'attributeDefs': [obj], 'valueObject': {}, 'isTable': false } tempObj.valueObject[key] = modelObj.attributes[key] return CommonViewFunction.propertyTable(tempObj); } } }) }; }); } } return this.searchCollection.constructor.getTableCols(col, this.searchCollection); }, addTagModalView: function(guid, multiple) { var that = this; require(['views/tag/addTagModalView'], function(AddTagModalView) { var view = new AddTagModalView({ guid: guid, multiple: multiple, callback: function() { that.fetchCollection(); that.arr = []; }, tagList: that.getTagList(guid, multiple), showLoader: that.showLoader.bind(that), hideLoader: that.hideLoader.bind(that), enumDefCollection: that.enumDefCollection }); }); }, getTagList: function(guid, multiple) { var that = this; if (!multiple || multiple.length === 0) { var model = this.searchCollection.find(function(item) { var obj = item.toJSON(); if (obj.guid === guid) { return true; } }); if (model) { var obj = model.toJSON(); } else { return []; } return obj.classificationNames; } else { return []; } }, showLoader: function() { this.$('.fontLoader').show(); this.$('.tableOverlay').show(); }, hideLoader: function() { this.$('.fontLoader').hide(); this.$('.ellipsis,.labelShowRecord').show(); // only for first time this.$('.tableOverlay').hide(); }, checkedValue: function(e) { var guid = "", that = this, isTagMultiSelect = $(e.currentTarget).hasClass('multiSelectTag'), isTermMultiSelect = $(e.currentTarget).hasClass('multiSelectTerm'), isTagButton = $(e.currentTarget).hasClass('assignTag'); if (isTagButton) { if (isTagMultiSelect && this.arr && this.arr.length) { that.addTagModalView(guid, this.arr); } else { guid = that.$(e.currentTarget).data("guid"); that.addTagModalView(guid); } } else { if (isTermMultiSelect && this.arr && this.arr.length) { that.addTermModalView(guid, this.arr); } else { guid = that.$(e.currentTarget).data("guid"); that.addTermModalView(guid); } } }, addTermModalView: function(guid, multiple) { var that = this; require([ 'views/business_catalog/AddTermToEntityLayoutView', ], function(AddTermToEntityLayoutView) { var view = new AddTermToEntityLayoutView({ guid: guid, multiple: multiple, callback: function() { that.fetchCollection(); that.arr = []; }, showLoader: that.showLoader.bind(that), hideLoader: that.hideLoader.bind(that) }); }); }, onClickTagCross: function(e) { var tagName = $(e.target).data("name"), guid = $(e.target).data("guid"), assetName = $(e.target).data("assetname"), tagOrTerm = $(e.target).data("type"), that = this; if (tagOrTerm === "term") { var modal = CommonViewFunction.deleteTagModel({ msg: "<div class='ellipsis'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from" + " " + "<b>" + assetName + " ?</b></div>", titleMessage: Messages.removeTerm, buttonText: "Remove" }); } else if (tagOrTerm === "tag") { var modal = CommonViewFunction.deleteTagModel({ msg: "<div class='ellipsis'>Remove: " + "<b>" + _.escape(tagName) + "</b> assignment from" + " " + "<b>" + assetName + " ?</b></div>", titleMessage: Messages.removeTag, buttonText: "Remove" }); } if (modal) { modal.on('ok', function() { that.deleteTagData(e, tagOrTerm); }); modal.on('closeModal', function() { modal.trigger('cancel'); }); } }, deleteTagData: function(e, tagOrTerm) { var that = this, tagName = $(e.target).data("name"), guid = $(e.target).data("guid"); CommonViewFunction.deleteTag({ 'tagName': tagName, 'guid': guid, 'tagOrTerm': tagOrTerm, showLoader: that.showLoader.bind(that), hideLoader: that.hideLoader.bind(that), callback: function() { that.fetchCollection(); } }); }, onClicknextData: function() { var that = this; this.ui.previousData.removeAttr("disabled"); that.offset = that.offset + that.limit; $.extend(this.searchCollection.queryParams, { offset: that.offset }); this.fetchCollection(null, { next: true }); }, onClickpreviousData: function() { var that = this; this.ui.nextData.removeAttr("disabled"); that.offset = that.offset - that.limit; $.extend(this.searchCollection.queryParams, { offset: that.offset }); this.fetchCollection(null, { previous: true }); }, onClickEditEntity: function(e) { var that = this; $(e.currentTarget).blur(); var guid = $(e.currentTarget).data('giud'); require([ 'views/entity/CreateEntityLayoutView' ], function(CreateEntityLayoutView) { var view = new CreateEntityLayoutView({ guid: guid, entityDefCollection: that.entityDefCollection, typeHeaders: that.typeHeaders, callback: function() { that.fetchCollection(); } }); }); }, onClickCreateEntity: function(e) { var that = this; $(e.currentTarget).blur(); require([ 'views/entity/CreateEntityLayoutView' ], function(CreateEntityLayoutView) { var view = new CreateEntityLayoutView({ entityDefCollection: that.entityDefCollection, typeHeaders: that.typeHeaders, callback: function() { that.fetchCollection(); } }); }); }, onCheckDeletedEntity: function(e) { if (e.target.checked) { $.extend(this.searchCollection.queryParams, { limit: this.limit, excludeDeletedEntities: false }); } else { $.extend(this.searchCollection.queryParams, { limit: this.limit, excludeDeletedEntities: true }); } this.fetchCollection(); } }); return SearchResultLayoutView; });