| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- /*
- * Left category menu, right content
- */
- /*
- * Empty container for reload contents //mg-emptyContainer
- */
- mgJsComponentHandler.addDefaultComponent('category-empty-container', {
- template: '#category-menu',
- data: function () {
- return {
- contentLoading: true
- };
- }
- });
- /*
- * Empty container registred by default
- */
- mgJsComponentHandler.addComponentByDefaultTemplate('empty-menu-cont', 'category-empty-container');
- /*
- * Menu and reloads logic
- */
- mgJsComponentHandler.addDefaultComponent('category-menu', {
- template: '#mg-category-menu',
- data: function () {
- var self = this;
- return {
- tableWrapperId: 'mg-category-menu',
- returnedData: [],
- targetid: null,
- menuLoading: false,
- sSearch: null,
- dataContent: '',
- showModal: false,
- contentContainerName: 'mg-component-body-empty-menu-cont', //+ self.component_id,
- modalBodyContainer: 'mg-modal-body',
- };
- },
- props: ['makeCustomAction', 'toggleFormSection', 'component_id'],
- mounted: function () {
- this.loadCategories(this.loadCategories);
- },
- created: function () {
- var self = this;
- self.$parent.$root.$on('reloadMgData', this.updateMgData);
- },
- methods: {
- updateMgData: function (toReloadId) {
- var self = this;
- if (self.tableWrapperId === toReloadId) {
- self.loadCategories(true);
- self.$nextTick(function () {
- self.$emit('restartRefreshingState');
- });
- }
- },
- reloadMenuContent: function (categoryId, namespace, index) {
- if ($("#groupList").attr("isBeingSorted")) {
- $("#groupList").removeAttr("isBeingSorted");
- return;
- }
- var self = this;
- self.contentContainerName = 'mg-component-body-empty-menu-cont';
- var resp = self.$parent.$options.methods.vloadData({loadData: categoryId, namespace: namespace, index: index});
- resp.done(function (data) {
- var data = data.data.rawData;
- $('#loadedTemplates').append(data.template);
- for (var key in data.registrations) {
- if (!data.registrations.hasOwnProperty(key)) {
- continue;
- }
- mgJsComponentHandler.registerNowByDefaultTemplate(key.toLowerCase(), data.registrations[key]);
- }
- $('#groupList').find('li.is-active').removeClass('is-active');
- $('#groupList').find('#' + categoryId).addClass('is-active');
- self.contentContainerName = 'mg-templatecontainer';
- Vue.component('mg-templatecontainer', {
- template: data.htmlData,
- methods: {
- submitForm: function (targetId, event) {
- mgPageControler.vueLoader.submitForm(targetId, event);
- }
- }
- });
- mgPageControler.vueLoader.$nextTick(function () {
- $('#itemContentContainer [data-content-slider]').luContentSlider();
- });
- self.$nextTick(function () {
- tldCategoriesSortableController();
- });
- });
- },
- searchData: function (event) {
- var self = this;
- self.sSearch = $(event.target).val();
- self.loadCategories();
- },
- loadCategories: function (callback = false) {
- var self = this;
- self.menuLoading = true;
- self.targetid = self.$el.attributes.getNamedItem('targetid').value;
- var reqParams = {loadData: self.targetid, namespace: getItemNamespace(self.targetid), index: getItemIndex(self.targetid)};
- if (self.sSearch !== null) {
- reqParams.sSearch = self.sSearch;
- }
- var resp = self.$parent.$options.methods.vloadData(reqParams);
- resp.done(function (data) {
- self.returnedData = data.data.rawData;
- self.menuLoading = false;
- if (callback) {
- self.reloadMenuContent(data.data.rawData[0].elId, data.data.rawData[0].namespace, data.data.rawData[0].id);
- }
- self.$nextTick(function () {
- tldCategoriesSortableController();
- });
- });
- },
- loadModal: function (event, targetId, namespace, index) {//needs refactoring
- event.stopImmediatePropagation();
- mgPageControler.vueLoader.loadM2(event, targetId, namespace, index);
- },
- submitForm: function (event) {
- mgPageControler.vueLoader.submitForm('itemContentContainer', event);
- }
- // },
- // makeCustomAction: function (functionName, params, event, namespace, index) {
- // mgPageControler.vueLoader.makeCustomAction(functionName, params, event, namespace, index);
- // }
- }
- });
|