PATH:
home
/
letacommog
/
letaweb
/
scripts
/
editor
/
popup
angular.module('ui.popup') .service('popup_product_option_combination_grid', ['$file_manager','communication','popup','$templateCache','$filter',function($file_manager,communication,popup,$templateCache,$filter) { this.open = function(opt) { opt = opt || {}; return popup.open({ name:'product_option_combination_grid', data:opt.data, controller: function($scope) { }, //size:'lg', }); } }]); $.popup('product_option_combination_grid', 'popupgrid', { init : function(element) { STGrid.registerSearchField('product_option_combination_options', 'list', { option_set_id : this.options.option_set_id, getOptionString : function(list, id, value) { var s = ''; for(var i = 0;i < list.length;i++) { if(list[i].id == id) { s = list[i].name; for(var j = 0; j < list[i].items.length;j++) { if(list[i].items[j].id == value) { s += ':' + list[i].items[j].name; return s; } } if(value == -1) s += ':' + window.t('LBL_ANY'); else s += ':' + window.t('LBL_NONE'); } } return s; }, getDisplayText: function(value) { var r = ''; var that = this; PM.communication.getOptionset(this.option_set_id, function(json) { var v = value.split(','); for(var i = 0;i < v.length;i++) { if(v[i].length > 0) { var pair = v[i].split(':'); if(pair.length > 1) { r += ',' + that.getOptionString(json, pair[0], pair[1]); } } } }, false); if(r.length > 0) r = r.substring(1); return r; }, }); var that = this; if(typeof this.options.data != 'undefined') { this.loadGrid(element); } else if(this.options.product_id) { PM.communication.getList(this.options.name, {product_id: this.options.product_id, option_set_id : this.options.option_set_id}, function(json) { that.options.data = json; that.loadGrid(element); }); } else { this.options.data = []; this.loadGrid(element); } }, onGridOpenEditor : function() { var that = this; $.popup('product_option_combination', { option_set_id : this.options.option_set_id, onOK : function(data) { that.changeData(data); } }); }, isDataValid : function(data) { var opt = $.trim(data.options); if(opt.length == 0) return false; var a = false; var d = opt.split(','); for(var i = 0;i < d.length;i++) { var v = d[i].split(':'); if(v.length > 1) { if(v[1] != '0') { a = true; break; } } } return a; }, onOK : function() { var data = this.options.data; if(this.options.onOK) this.options.onOK(data) }, getGridData : function(data) { return {rows: data }; }, changeData : function(data) { if( !this.isDataValid(data) ) { return; } var d = this.options.data || []; if(!data.id) { for(var i = 0;i < d.length;i++) { if( d[i].options == data.options) { return; } } if(!this.cached_id) this.cached_id = PM.communication.getNewID('product_options_combinations'); data.id = this.cached_id; this.cached_id++; } var nd = false; for(var i = 0;i < d.length;i++) { if(d[i].id == data.id) { d[i] = $.extend(true, {}, data); nd = true; break; } else if( d[i].options == data.options) { nd = true; break; } } if(!nd) d.push(data); this.options.data = d; this.reloadGrid({data: {rows:this.options.data} }); }, onGridDeleteItems : function(ids) { }, onDelete : function(ui, id) { var d = this.options.data; for(var i = 0;i < d.length;i++) { if(d[i].id == id) { d.splice(i, 1); } } this.options.data = d; this.reloadGrid({data: {rows:this.options.data} }); }, onEdit : function(ui, id) { var d = this.options.data; for(var i = 0;i < d.length;i++) { if(d[i].id == id) { var that = this; $.popup('product_option_combination', { option_set_id : this.options.option_set_id, data: d[i], onOK : function(data) { that.changeData(data); } }); break; } } }, getGridUrl : function() { var url = 'moduleExecute?path=' + PM.current_path + '&action=getPagedList&name=' + this.options.name + '&product_id=' + this.options.product_id + '&optionset_id=' + this.options.option_set_id +'&siteid=' + pageid; return url; }, }, { name: 'product_options_combinations', singleSelect: true, cols : [ { display : window.t('LBL_PRODUCT_OPTIONS_ID'), name : 'id', width : 40, align : 'center', searchable : true, }, { display :window.t('LBL_PRODUCT_OPTIONS_IMAGE'), name : 'img', type:'image', src: 'image', searchable : false, width : 50, align : 'left' }, { display :window.t('LBL_PRODUCT_OPTIONS_OPTIONS'), name : 'options', type:'list', list_type: 'product_option_combination_options', width : 220, align : 'left' }, { display :window.t('LBL_PRODUCT_OPTIONS_PRICE'), name : 'price', type:'price', width : 220, align : 'left' }, { display :window.t('LBL_PRODUCT_OPTIONS_SKU'), name : 'SKU', width : 30, align : 'left' }, { display :window.t('LBL_PRODUCT_OPTIONS_QTY'), name : 'qty', width : 30, align : 'left' }, { display :window.t('LBL_PRODUCT_OPTIONS_WEIGHT'), name : 'weight', width : 30, align : 'left' }, { display : '', name : 'edit', width : 5, type:'large_button', command:'edit', align : 'left', }, { display : '', name : 'del', type:'large_button', command:'delete', width : 5, align : 'left', } ], buttons: [ { name : t('LBL_PRODUCT_COMBIN_ADD_ITEM'), bclass : 'add', commandName : 'openEditor' } ] });
[+]
..
[-] profile.js
[edit]
[-] pagelist.js
[edit]
[-] order.js
[edit]
[-] customer_group.js
[edit]
[-] module_list.js
[edit]
[-] backgroundeditor.js
[edit]
[-] product.js
[edit]
[-] visualcsseditor.js
[edit]
[-] shipping_rule.js
[edit]
[-] profile_change_password.js
[edit]
[-] review.js
[edit]
[-] contributor_invite.js
[edit]
[-] dbfilter.js
[edit]
[-] tax_class.js
[edit]
[-] special_module_style_editor.js
[edit]
[-] idletimeout.js
[edit]
[-] address.js
[edit]
[-] contributor.js
[edit]
[-] login.js
[edit]
[-] skin.js
[edit]
[-] mail.js
[edit]
[-] discount.js
[edit]
[-] customer.js
[edit]
[-] productgrid.js
[edit]
[-] socialsharebuttonconfig.js
[edit]
[-] news.js
[edit]
[-] color.js
[edit]
[-] palette.js
[edit]
[-] newsgrid.js
[edit]
[-] product_option_combination_grid.js
[edit]
[-] page.js
[edit]
[-] product_option.js
[edit]
[-] tax_rate.js
[edit]
[-] coupons.js
[edit]
[-] zone.js
[edit]
[-] product_bulk_price.js
[edit]
[-] option_set.js
[edit]
[-] product_option_combination.js
[edit]