Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sap.ui.define([
- "it/q8/supply/controller/BaseController",
- 'sap/ui/model/json/JSONModel',
- "sap/ui/model/Filter",
- "sap/m/MessageBox",
- 'sap/ui/core/Fragment',
- "sap/ui/model/FilterOperator"
- ], function(Controller, JSONModel, Filter, FilterOperator, MessageBox, Fragment) {
- "use strict";
- return Controller.extend("it.q8.supply.controller.Configuration", {
- __targetName: "Configuration",
- inputId: '',
- __currApp: "",
- __currTab: "Base",
- __counterCreateRequests: [],
- __counterUpdateRequests: [],
- onActivateSetTimeout: function (controller) {
- var oView = controller.getView();
- this._timer = setInterval (function (controller) {
- controller.loadAllChainModels(oView);
- } , 6000, this);
- },
- onRouteMatched: function(oEvent) {
- if(this._reload === undefined ) this._reload = "true";
- else location.reload();
- this.getView().getModel("temp").setProperty("/currApp", "APP");
- var oView = this.getView();
- this.__currApp = oEvent.getParameters().name;
- var sTab = oEvent.getParameters().arguments.currentFilter;
- this.getView().byId('ConfigurationIconTabBar').setSelectedKey(sTab);
- this.__currTab = sTab;
- if (this.__currTab === 'All'){
- this.__currTab = 'Base';
- }
- //Leggi il tile corrente come currApp
- oView.bindElement("filters>/Configuration/" + this.__currTab);
- //var view = this.getView();
- this.__counterCreateRequests['success'] = 0;
- this.__counterCreateRequests['error'] = 0;
- this.__counterUpdateRequests['success'] = 0;
- this.__counterUpdateRequests['error'] = 0;
- // add tooltip
- var oBaseMockModel = this.getView().getModel("oMockModel").getProperty('/Base');
- var oMaterialMockModel = this.getView().getModel("oMockModel").getProperty('/Material');
- var oMovementAssociationMockModel = this.getView().getModel("oMockModel").getProperty('/MovementAssociation');
- if( oBaseMockModel !== undefined && oBaseMockModel.length > 0 && oMaterialMockModel !== undefined && oMaterialMockModel.length > 0 && oMovementAssociationMockModel !== undefined && oMovementAssociationMockModel.length > 0 ) {
- var oTable = this.getView().byId("BaseTable");
- this._addTooltip(this, oTable);
- var oTable = this.getView().byId("MaterialTable");
- this._addTooltip(this, oTable);
- var oTable = this.getView().byId("MovementAssociationTable");
- this._addTooltip(this, oTable);
- }else{
- var oGBinding = new sap.ui.model.Binding(this.getView().getModel("oGDataModel"), "/Configuration", this.getView().getModel("oGDataModel").getContext("/"));
- oGBinding.attachChange(function() {
- var oTable = this.getView().byId("BaseTable");
- this._addTooltip(this, oTable);
- var oTable = this.getView().byId("MaterialTable");
- this._addTooltip(this, oTable);
- var oTable = this.getView().byId("MovementAssociationTable");
- this._addTooltip(this, oTable);
- }, this);
- }
- this.onActivateSetTimeout(this);
- },
- onSelectTabConfiguration: function(oEvent) {
- var oItems = oEvent.getSource().getItems(),
- sSelectedId = oEvent.getSource().getSelectedKey();
- var bSaved = this.getView().getModel('temp').getProperty('/' + this.__currApp + '/' + this.__currTab +'/isEditModeOn');
- if (!bSaved){
- for (var i = 0; i < oItems.length; i++) {
- var oItem = oItems[i];
- if (oItem.mProperties.key === sSelectedId) {
- var sNameTab = oItem.data("nameTab");
- this.__currTab = sNameTab;
- var sCurrApp = this.__currApp;
- this.getView().bindElement("filters>/" + sCurrApp + "/" + sNameTab);
- break;
- }
- }
- }else{
- this._onMessageWarningDialog("TabUnsaved");
- oEvent.getSource().setSelectedKey(this.__currTab);
- }
- },
- handleValueHelpNetworkConfiguration: function(oEvent) {
- var sNameMultiInput = oEvent.getSource().data("MultiInputName");
- var sNameDialog = sNameMultiInput + "Dialog";
- var sMultiInputId = sNameMultiInput + "Id";
- this._inputId = oEvent.getSource().getId();
- var sPathDialog = "it.q8.supply.view.configuration.fragment.dialog." + sNameDialog;
- this._oNameMessageDialog = sap.ui.xmlfragment(sPathDialog, this);
- this.getView().addDependent(this._oNameMessageDialog);
- this._oNameMessageDialog.open();
- },
- handleValueHelpOkNetworkConfiguration: function(oEvent, sValue ) {
- var oModel = this.getView().getModel('oMockModel').getProperty("/" + this.__currTab);
- var oRowModel = this.getView().getModel("oMockModel").getProperty("/Base");
- var oTable = this.byId(this.__currTab + 'Table');
- var oNetworkInput = this.getView().byId(this._inputId);
- var oRow = oNetworkInput.getParent();
- var oRows = oTable.getItems();
- var i = _.findIndex(oRows, oRow);
- var oSelectedItem = oEvent.getParameter("selectedItem");
- oModel[i].UPDATETYPE = 'updated';
- if (oSelectedItem) {
- var sNewValue= oSelectedItem.getTitle();
- oNetworkInput.setValue(sNewValue);
- var oBWModel = this.getView().getModel('oBWModel').getProperty('/Network');
- var oNetworkJson = {};
- oNetworkJson['NETWORKDESCRIPTION'] = sNewValue;
- var sNetworkCode = _.where ( oBWModel, oNetworkJson)[0].NETWORK;
- oModel[i].NETWORK = sNetworkCode;
- }
- },
- onInputType: function(oEvent) {
- var fieldName = oEvent.getSource().data('fieldName');
- var bTyping = oEvent.getSource().data('typing');
- var oRowModel = this.getView().getModel("oMockModel").getProperty("/Base");
- var oUsersEntry = this.getView().getModel('temp').getProperty('/Configuration/Base/UsersEntry');
- var oMaxLengthJson = {};
- oMaxLengthJson['FIELDNAME'] = 'NETWORKDESCRIPTION';
- var sMaxLength = _.where ( oUsersEntry, oMaxLengthJson )[0]['MAXLENGTH'];
- var oRows = oEvent.getSource().getParent().getParent().getItems();
- var oRow = oEvent.getSource().getParent();
- var inputValue = oEvent.getSource().getValue();
- var i = _.findIndex(oRows, oRow);
- var aNetworkCodes = [];
- var oCurrObj = this.getView().getModel("oMockModel").getProperty(oRow.getBindingContextPath());
- oCurrObj[fieldName] = inputValue;
- oCurrObj.UPDATETYPE = 'updated';
- if (oEvent.getSource().data('typing') === false ){
- oEvent.getSource().data('typing', true);
- for(var j = 0 ; j < oRowModel.length ; j++){
- aNetworkCodes.push(Number(oRowModel[j].NETWORK));
- var sNetworkCode = String ((_.max(aNetworkCodes)) + 1 );
- }
- oRowModel[i].NETWORK = sNetworkCode;
- }
- var sNetworkDescription = oRow.getCells()[2].getValue();
- if (sNetworkDescription.length > sMaxLength){
- oEvent.getSource().setValueState('Error');
- }else{
- oEvent.getSource().setValueState('None');
- }
- },
- onInputTypeNewRow: function(oEvent) {
- var oUsersEntry = this.getView().getModel('temp').getProperty('/Configuration/Base/UsersEntry');
- var oInputNetwork = oEvent.getSource();
- var sNetworkDescription = oInputNetwork.getValue();
- var oMaxLengthJson = {};
- oMaxLengthJson['FIELDNAME'] = 'NETWORKDESCRIPTION';
- var sMaxLength = _.where ( oUsersEntry, oMaxLengthJson )[0]['MAXLENGTH'];
- if (sNetworkDescription.length > sMaxLength){
- oEvent.getSource().setValueState('Error');
- }else{
- oEvent.getSource().setValueState('None');
- }
- },
- handleValueHelpConfiguration: function(oEvent) {
- var sNameMultiInput = oEvent.getSource().data("MultiInputName"),
- sNameDialog = sNameMultiInput + "Dialog",
- sMultiInputId = sNameMultiInput + "Id";
- var sPathDialog = "configuration.fragment.dialog." + sNameDialog;
- this.handleValueHelp(oEvent, sPathDialog, sNameDialog);
- this.checkExistToken(sMultiInputId, sNameDialog);
- },
- handleValueHelpSearchConfiguration: function(oEvent) {
- var sValue = oEvent.getParameter("value");
- var sCode = oEvent.getSource().data('fieldDescription');
- var sFieldName = oEvent.getSource().data("fieldName");
- var filters = [
- new Filter(sFieldName, sap.ui.model.FilterOperator.Contains, sValue),
- new Filter(sCode, sap.ui.model.FilterOperator.Contains, sValue)
- ];
- var oFilter = new Filter({
- filters: filters,
- and: false
- });
- this.handleValueHelpSearch(oEvent, oFilter);
- },
- handleValueHelpOkConfiguration: function(oEvent) {
- var sFieldName = oEvent.getSource().data("fieldName"),
- sNameTab = this.__currTab,
- aTokenItem,
- oView = this.getView(),
- sPathContext = oView.getBindingContext("filters").sPath + "/values/" + sFieldName,
- aParameters;
- var oProductInput = this.byId(this.inputId);
- aParameters = oEvent.getParameters();
- aTokenItem = this.handleValueHelpOk(oEvent, oProductInput, aParameters, sFieldName);
- oEvent.getSource().getBinding("items").filter([]);
- this.getView().getModel("filters").setProperty(sPathContext, aTokenItem);
- this.onSearchField();
- },
- handleValueHelpCloseConfiguration: function(oEvent) {
- this._setBaseDescriptionVisibility(false);
- this.handleValueHelpClose(oEvent);
- },
- /* onTokenChange: function(oEvent) {
- var oView = this.getView(),
- sPathContext = oView.getBindingContext("filters").sPath + "/values/BaseBaseCodeMultiInput";
- var aTokenItem = this.getView().getModel("filters").getProperty(sPathContext);
- aTokenItem.push({
- key:"",
- text:""
- });
- this.getView().getModel("filters").setProperty(sPathContext, aTokenItem);
- },*/
- ///////////////////////////////////////////////////////////
- // EVENTI //
- ///////////////////////////////////////////////////////////
- onEdit: function() {
- var oTable = this.byId(this.__currTab + 'Table'),
- oBinding = oTable.getBindingInfo("items").binding,
- sPath = oBinding.sPath,
- oCloneModel = JSON.parse(JSON.stringify(this.getView().getModel("oMockModel").getProperty(sPath))),
- oRows = oTable.getSelectedItems(),
- aModifiedIndexs = [],
- iModifiedIndex;
- this.getView().getModel("temp").setProperty("/notModifiedModel", oCloneModel);
- if(oTable._getSelectAllCheckbox().getProperty('selected') || oRows.length > 0){
- this._setEditMode(true, oRows);
- }else{
- //apri il message box che avvisa che non sono stati selezionati item
- this._handleWarningMessageBoxPress();
- }
- var oHeaderTable = this.byId(this.__currTab + 'Header' + 'Table');
- oHeaderTable.setMode('None');
- },
- onSearchField: function(oEvent) {
- var sCurrApp = this.__currApp,
- sNameTab = this.__currTab,
- aTokenFieldNames,
- aRelevantFlagFieldNames,
- aTokenFilters = [],
- aRelevantFlagFilters = [],
- aAllFilters = [],
- oAllFilters,
- sSearchFieldValue = '',
- // sIdTable = oEvent.getSource().getParent().getParent().data("nameTab") + "Table",
- // oTable = this.getView().byId(sIdTable);
- oTable = this.byId(this.__currTab + 'Table');
- //PRENDO I NOMI DEI FILTRI DAL FILTRO DEI MODELLI
- //NE ESISTE UNO PER OGNI APP/TAB
- aTokenFieldNames = this._returnFieldNameArray(sCurrApp, sNameTab, 'TOKENFIELDSNAME');
- aRelevantFlagFieldNames = this._returnFieldNameArray(sCurrApp, sNameTab, 'RELEVANTFLAGFIELDNAME');
- //RITORNO L'ARRAY DEI FILTRI COSTRUITO SUI VALORI PRESENTI NEL MODELLO DEI FILTRI PER I MULTIINPUT
- aTokenFilters = this._returnTokenFilters(aTokenFieldNames, sCurrApp, sNameTab);
- if (aTokenFilters && aTokenFilters.length !== 0) {
- aAllFilters.push(aTokenFilters);
- }
- //RITORNO L'ARRAY DEI FILTRI COSTRUITO SUI VALORI PRESENTI NEL MODELLO DEI FILTRI PER I SELECTEDBUTTON
- aRelevantFlagFilters = this._returnRelevantFlagFilters(aRelevantFlagFieldNames, sCurrApp, sNameTab);
- if (aRelevantFlagFilters && aRelevantFlagFilters.length !== 0) {
- aAllFilters.push(aRelevantFlagFilters);
- }
- //RITORNO L'ARRAY DEI FILTRI COSTRUITO SUL VALORE PRESENTE NEL MODELLO DEI FILTRI PER IL SEARCHFIELD
- sSearchFieldValue = this._returnSearchFieldFilters(sCurrApp, sNameTab, 'SEARCHFIELD');
- if (sSearchFieldValue && sSearchFieldValue !== '') {
- aAllFilters.push(sSearchFieldValue);
- }
- if (aAllFilters.length !== 0) {
- oAllFilters = new Filter({
- filters: aAllFilters,
- and: true
- });
- } else {
- oAllFilters = [];
- }
- oTable.getBinding("items").filter(oAllFilters);
- //add tooltips
- this._addTooltip(this, oTable);
- },
- onSaveInTable: function(){
- var sNameTab = this.__currTab;
- var oTable = this.byId(sNameTab + 'Table'),
- oBinding = oTable.getBindingInfo("items").binding,
- sPath = oBinding.sPath,
- oCurrModel = JSON.parse(JSON.stringify(this.getView().getModel("oMockModel").getProperty(sPath))),
- oCloneModel = this.getView().getModel("temp").getProperty("/notModifiedModel"),
- updateModel = this.getView().getModel("oMockModel").getProperty("/Base"),
- bSaveOk = true;
- //this.getView().getModel("temp").setProperty("/notModifiedModel", oCurrModel);
- this.getView().getModel("oMockModel").setProperty("/Base", updateModel);
- var oRows = oTable.getItems();
- /* this._setOnSendChangesMode(true);*/
- this._sNameMessageDialog.destroy();
- if (sNameTab === 'Base'){
- for(var i = 0 ; i < oRows.length ; i++){
- var oCell = oRows[i].getCells()[2];
- var sValueState = oCell.getValueState();
- if (sValueState === 'Error'){
- this._handleWarningMessageBoxPress("ImpossibleToSaveConfigurationBase");
- var bSaveOk = false;
- break;
- }
- }
- }
- if(bSaveOk){
- this.createBusyDialog();
- this.onSendChanges();
- this._setEditMode(false, oRows);
- var oHeaderTable = this.byId(this.__currTab + 'Header' + 'Table');
- oHeaderTable.setMode('MultiSelect');
- }
- },
- onOpenSaveDialog: function (oEvent){
- var sNameButton=oEvent.getSource().data('dialogName');
- var sNameMessageDialog = sNameButton + "Dialog";
- var sDialogId = sNameButton + "Id";
- var sPathDialog = "it.q8.supply.view.configuration.fragment.dialog." + sNameMessageDialog;
- this._sNameMessageDialog = sap.ui.xmlfragment(sPathDialog, this);
- this.getView().addDependent(this._sNameMessageDialog);
- this._sNameMessageDialog.open();
- },
- onCloseSaveDialog: function (oEvent){
- var oDialog=oEvent.getSource().getParent();
- oDialog.destroy();
- },
- provaUpdate: function(){
- var view = this.getView(),
- key = "I201",
- entitySet = 'YSUP_PLANTSet';
- var json = {"NETWORK":"ZE", "FLAGRELEVANT":"Z"};
- var controller = this;
- this.onUpdateOData(entitySet, key, json,
- function(oData, response){
- return res = 1;
- },
- function(oData, response){
- return res = 0;
- });
- },
- provaSave: function(){
- var view = this.getView(),
- key = "I201",
- entitySet = 'YSUP_PLANTSet';
- var json = [
- { "BASECODE": "I201",
- "BASEDESCRIPTION": "Napoli Nazionale",
- "NETWORK": "NA",
- "FLAGRELEVANT": "X"
- },
- { "BASECODE": "I102",
- "BASEDESCRIPTION": "Milazzo Marketing",
- "NETWORK": "",
- "FLAGRELEVANT": "X"
- }
- ];
- var controller = this;
- this.onNewEntryOData(entitySet, json,
- function(oData, response){
- return res = 1;
- },
- function(oData, response){
- return res = 0;
- });
- },
- provaDelete: function(){
- var view = this.getView(),
- key = "I500",
- entitySet = 'YSUP_PLANTSet';
- var controller = this;
- this.onDeleteEntryOData(entitySet, key,
- function(oData, response){
- return res = 1;
- },
- function(oData, response){
- return res = 0;
- });
- },
- onCancelEditMode: function(){
- var sNameTab = this.__currTab;
- var oTable = this.byId(sNameTab + 'Table'),
- oBinding = oTable.getBindingInfo("items").binding,
- sPath = oBinding.sPath,
- oCurrModel = this.getView().getModel("temp").getProperty("/notModifiedModel");
- this.getView().getModel("oMockModel").setProperty(sPath, oCurrModel);
- var oRows = oTable.getItems();
- this._setEditMode(false, oRows);
- var oHeaderTable = this.byId(this.__currTab + 'Header' + 'Table');
- oHeaderTable.setMode('MultiSelect');
- },
- onTokenChange: function (oEvent){
- var oFilterModel = this.getView().getModel("filters");
- var sCurrApp = this.__currApp;
- var sNameTab = this.__currTab;
- var sFieldName = oEvent.getSource().data("fieldName");
- var sTokenType = oEvent.getParameter('type');
- if (sTokenType === 'removed') {
- var sText = oEvent.getParameters().token.getText();
- var sKey = oEvent.getParameters().token.getKey();
- var oJson = {text: sText, key: sKey};
- var oTempFilterModel = oFilterModel.getProperty("/" + sCurrApp + "/" + sNameTab + "/values/" + sFieldName);
- oTempFilterModel = _.reject(oTempFilterModel, oJson);
- oFilterModel.setProperty("/" + sCurrApp + "/" + sNameTab + "/values/" + sFieldName, oTempFilterModel);
- }
- this.onSearchField();
- },
- onSelectCheckBox: function(oEvent) {
- var sNameTab = this.__currTab
- if (sNameTab === 'Movement') {
- sNameTab = 'MovementAssociation';
- }
- var oRowModel = this.getView().getModel("oMockModel").getProperty( "/" + sNameTab);
- var oRows = oEvent.getSource().getParent().getParent().getItems();
- var oRow = oEvent.getSource().getParent();
- var boxValue = oEvent.getSource().getSelected();
- var i = _.findIndex(oRows, oRow);
- var oCurrObj = this.getView().getModel("oMockModel").getProperty(oRow.getBindingContextPath());
- if( boxValue === true){
- oCurrObj.FLAGRELEVANT = 'X';
- }
- else{
- oCurrObj.FLAGRELEVANT = '';
- }
- this.getView().getModel("oMockModel").setProperty("/" + sNameTab, oRowModel);
- oCurrObj.UPDATETYPE = 'updated';
- },
- onSelectionChangeAll : function(oEvent) {
- var oItems = this.getView().byId(this.__currTab +'Table').getItems();
- var bSelected = oEvent.getSource()._getSelectAllCheckbox().getSelected();
- oItems.forEach(function(oRow) {
- oRow.setSelected(bSelected);
- });
- this.onSelectionChange();
- },
- onSelectionChange: function(oEvent) {
- var oItems = this.byId(this.__currTab + 'Table').getItems();
- var flagSelected = false;
- oItems.forEach(function(oRow) {
- flagSelected = flagSelected || oRow.isSelected();
- });
- if (flagSelected) {
- this.getView().getModel("temp").setProperty("/" + this.__currApp + "/" + this.__currTab + "/selectedModeOn", true);
- } else {
- this.getView().getModel("temp").setProperty("/" + this.__currApp + "/" + this.__currTab + "/selectedModeOn", false);
- }
- },
- onSendChanges: function(oEvent){
- var sNameTab = this.__currTab;
- if (sNameTab === 'All'){
- var sNameTab = 'Base';
- }
- var oModel = this.getView().getModel("oMockModel").getProperty("/" + sNameTab);
- var oBaseModel = this.getView().getModel("oMockModel").getProperty("/Base");
- var oTable = this.byId(sNameTab + 'Table');
- var sNameOData = this.getView().getModel('temp').getProperty('/Configuration')['oDataMapping'];
- var sNameApp = {};
- sNameApp.nameApp = '/'+ this.__currTab;
- var aObj=_.where(sNameOData, sNameApp);
- var oJson = aObj[0];
- var sNameOData=oJson.nameOData;
- var sModel=this.getView().getModel("temp").getProperty("/sModelName");
- var aNetworkCodes = [];
- var aUpdateRows = [];
- var aNewRows = [];
- /* a NetworkCode is assigned at each updatedRows
- for(var i = 0 ; i < oBaseModel.length ; i++){
- aNetworkCodes.push(Number(oBaseModel[i].NETWORK));
- var sNetworkCode = String ((_.max(aNetworkCodes)) + 1 );
- }
- for (var j = 0; j < aUpdateRows.length; j++){
- aUpdateRows[0].NETWORK = sNetworkCode;
- sNetworkCode = String( Number (sNetworkCode) + 1 );
- aUpdateRows[j].NETWORK = sNetworkCode;
- }*/
- for( var i = 0; i < oModel.length; i++ ){
- var copy = JSON.parse(JSON.stringify(oModel[i]));
- if( oModel[i]["UPDATETYPE"] === "updated" ) { delete copy["UPDATETYPE"], aUpdateRows.push( copy ) }
- if( oModel[i]["UPDATETYPE"] === "new" ) { delete copy["UPDATETYPE"], aNewRows.push( copy ) }
- oModel[i]["UPDATETYPE"] = null;
- }
- if((aUpdateRows.length === 0) && (aNewRows.length === 0)){
- this.destroyBusyDialog();
- this._onMessageWarningDialog("NoChanges");
- }
- var total = aNewRows.length + aUpdateRows.length;
- for( var i=0; i < aNewRows.length; i++ ){
- var oNewJson = aNewRows[i];
- var oDataModel = this.getView().getModel(sModel);
- // create transcoding
- var copy = JSON.parse(JSON.stringify(oNewJson));
- delete copy["NETWORKDESCRIPTION"];
- delete copy["FLAGRELEVANT"];
- delete copy ['SIGN'];
- delete copy ['NETWORK'];
- var sNameODataTra = sNameOData.substring(0, 6) + "TRA" + sNameOData.substring(6);
- sNameODataTra= sNameODataTra.replace("PLA", "BAS");
- this._createOData(this.__currTab, oDataModel, sNameOData, oNewJson, total, sNameODataTra, copy);
- }
- //modify NewRows for BE
- var oParam = ['DEMAND', 'MAX' , 'MIN' ];
- var oNewRow = { BASECODE : '',
- MATERIALCODE: '',
- BASEDESCRIPTION: "", MATERIALDESCRIPTION: "", PROPERTY : '', VALUE: ''};
- var aRowsBE = [];
- for (var i = 0 ; i < aNewRows.length ; i++){
- for (var j = 0 ; j < oParam.length ; j++){
- oNewRow["BASECODE"]= aNewRows[i].BASECODE;
- oNewRow["BASEDESCRIPTION"]= aNewRows[i].BASEDESCRIPTION;
- oNewRow["MATERIALDESCRIPTION"]= aNewRows[i].MATERIALDESCRIPTION;
- oNewRow["MATERIALCODE"]= aNewRows[i].MATERIALCODE;
- var sParam = oParam [j];
- var sValue = aNewRows[i][sParam];
- oNewRow["PROPERTY"] = sParam;
- oNewRow["VALUE"] = "0";
- aRowsBE.push(oNewRow);
- oNewRow = { BASECODE : '',
- MATERIALCODE: '',
- BASEDESCRIPTION: "", MATERIALDESCRIPTION: "", PROPERTY : '', VALUE: ''};
- }
- }
- //create Parameters from Material Tab
- if (this.__currTab === 'Material'){
- for( var i=0; i < aRowsBE.length; i++ ){
- var oNewJson = aRowsBE[i];
- var oDataModel = this.getView().getModel(sModel);
- var oCopy = JSON.parse(JSON.stringify(oNewJson));
- delete oCopy["NETWORKDESCRIPTION"];
- delete oCopy["FLAGRELEVANT"];
- delete oCopy ['SIGN'];
- delete oCopy ['NETWORK'];
- var sNameODataParam = sNameOData.replace("MAT", "PARAM");
- this._createODataParam(this.__currTab, oDataModel, sNameODataParam, oCopy);
- }
- }
- // update configuration
- var arrKeys = [];
- arrKeys["Base"] = "BASECODE";
- arrKeys["MovementAssociation"] = ["BASECODE", "MOVEMENTCODE"];
- arrKeys["Material"] = ["BASECODE", "MATERIALCODE"];
- for( var i=0; i < aUpdateRows.length; i++ ){
- var oUpdateJson = aUpdateRows[i];
- var copy = JSON.parse(JSON.stringify(oUpdateJson));
- delete copy["CHANGEDAT"];
- delete copy ["CHANGEDON"];
- delete copy ["CHANGEDBY"];
- var key = arrKeys[this.__currTab];
- var oDataModel = this.getView().getModel(sModel);
- this._updateOData(this.__currTab, oDataModel, sNameOData, key, copy, total);
- }
- },
- ////////////////////////////NEW ROWS ////////////////////////////////
- onAdd: function (oEvent) {
- this.getView().getModel("temp").setProperty("/Configuration/" + this.__currTab + "/isAddModeOn", true);
- this.getView().getModel("temp").setProperty("/Configuration/" + this.__currTab + "/selectedModeOn", false);
- var oTable = this.getView().byId(this.__currTab + 'Table');
- var oHeaderTable = this.getView().byId(this.__currTab + 'Header' + 'Table');
- oHeaderTable.setMode('None');
- oTable.setMode('None');
- var sNameTab = this.__currTab;
- var oCurrModel = JSON.parse(JSON.stringify(this.getView().getModel("oMockModel").getProperty('/'+ sNameTab)));
- this.getView().getModel("temp").setProperty("/notModifiedModel", oCurrModel);
- var sNameButton=oEvent.getSource().data('dialogName');
- var sNameDialog = sNameButton + "Dialog";
- var sDialogId = sNameButton + "Id";
- var sPathDialog = "it.q8.supply.view.configuration.fragment.dialog." + sNameDialog;
- this._sNameDialog = sap.ui.xmlfragment(sPathDialog, this);
- this.getView().addDependent(this._sNameDialog);
- if(sNameTab === 'MovementAssociation'){
- var oSelect = this._sNameDialog.getContent()[0].getItems()[0].getItems()[1];
- var oList = oSelect.getList();
- oList.setShowSecondaryValues(true);
- }
- this._sNameDialog.open();
- },
- onOpenDialog: function (oEvent){
- var oView = this.getView();
- //this.loadAllGatewayModels(oView);
- var sNameButton=oEvent.getSource().data('dialogName');
- var sNameMessageDialog = sNameButton + "Dialog";
- var sDialogId = sNameButton + "Id";
- var sPathDialog = "it.q8.supply.view.configuration.fragment.dialog." + sNameMessageDialog;
- this._sNameMessageDialog = sap.ui.xmlfragment(sPathDialog, this);
- this.getView().addDependent(this._sNameMessageDialog);
- //distinct su network
- if (sNameMessageDialog === 'BaseNewRowNetworkHelpDialog'){
- var sInputValue = oEvent.getSource().getValue();
- this.inputId = oEvent.getSource().getId();
- var tab = this.__currTab === undefined ? "" : "/" + this.__currTab ;
- if(tab === "") var sPath = this.getView().byId(this.__currApp + "Table").getBinding("items").sPath;
- else var sPath = this.getView().byId(tab.replace("/", "") + "Table").getBinding("items").sPath;
- var values = this.getView().getModel("oMockModel").getProperty(sPath);
- var fieldName = this._sNameMessageDialog.data("fieldName");
- if( this.getView().getModel("temp").getProperty("/InputFilters") === undefined) this.getView().getModel("temp").setProperty("/InputFilters",[]);
- if( this.getView().getModel("temp").getProperty("/InputFilters/" + this.__currApp ) === undefined) this.getView().getModel("temp").setProperty("/InputFilters/" + this.__currApp,[]);
- if( this.getView().getModel("temp").getProperty("/InputFilters/" + this.__currApp + "/" + this.__currTab) === undefined ) this.getView().getModel("temp").setProperty("/InputFilters/" + this.__currApp + tab, []);
- if( this.getView().getModel("temp").getProperty("/InputFilters/" + this.__currApp + tab + "/" + fieldName) === undefined){
- this.getView().getModel("temp").setProperty("/InputFilters/" + this.__currApp + tab + "/" + fieldName, []);
- var res = this._distinctValues( values, fieldName);
- this.getView().getModel("temp").setProperty("/InputFilters/" + this.__currApp + tab + "/" + fieldName, res);
- }
- var dialog = this._sNameMessageDialog;
- var fieldName1 = "{" + fieldName + "}";
- var standardListItemTemplate = new sap.m.StandardListItem( {title: fieldName1 } );
- dialog.setModel(this.getView().getModel("temp"));
- dialog.bindAggregation("items",{path:"/InputFilters/" + this.__currApp + tab + "/" + fieldName , template:standardListItemTemplate });
- this._sNameMessageDialog.open(sInputValue);
- }else{
- this._sNameMessageDialog.open();
- }
- },
- onCloseDialog: function (oEvent){
- var oDialog=oEvent.getSource().getParent();
- this._setBaseDescriptionVisibility(false);
- this.getView().byId(this.__currTab + 'Table').setMode('MultiSelect');
- this.getView().byId( this.__currTab + 'Header' + 'Table').setMode('MultiSelect');
- oDialog.destroy();
- },
- /* onCloseMessageDialog: function (oEvent){
- var oDialog=oEvent.getSource().getParent();
- this._setBaseDescriptionVisibility(true);
- oDialog.destroy();
- },*/ //non c'è più la messageDialog (troppi salva)
- onCloseConfirmCreateOrModifyDialog: function(oEvent){
- this.getView().getModel("temp").setProperty("/ResolvedScrap", []);
- this.getView().getModel("temp").setProperty("/ConfirmSuccessText", "");
- this.getView().getModel("temp").setProperty("/ResolvedScrapVisibility", false);
- this.onCloseSaveDialog(oEvent);
- },
- onSelect: function (oEvent, sNameDialog){
- this._setBaseDescriptionVisibility(true);
- },
- handleValueHelpOkNewRow: function (oEvent,sNameDialog){
- var oInput = this._sNameDialog.getContent()[0].getItems()[0].getItems()[1];
- var aListItems = oEvent.getSource().getItems();
- var sTab = this.__currTab;
- var sApp = this.__currApp;
- for (var i = 0 ; i < aListItems.length; i++){
- if (aListItems[i].getSelected() === true ){
- var sTitle = aListItems[i].getTitle();
- oInput.setValue(sTitle);
- var sCode = aListItems[i].getDescription();
- oInput.setDescription(sCode);
- var oTempObj = {};
- var sTabCode = sTab.toUpperCase() + 'CODE';
- oTempObj[sTabCode]= sCode;
- this.getView().getModel("temp").setProperty("/" + sApp + "/" + sTab + "/NewRows", oTempObj);
- }
- }
- this._setBaseDescriptionVisibility(true);
- },
- handleValueHelpOkNewRowNetwork: function (oEvent,sNameDialog){
- var oNetworkInput = this._sNameDialog.getContent()[1].getItems()[0].getItems()[1];
- var aListItems = oEvent.getSource().getItems();
- for (var i = 0 ; i < aListItems.length; i++){
- if (aListItems[i].getSelected() === true) {
- var sTitle = aListItems[i].getTitle();
- oNetworkInput.setValue(sTitle);
- }
- }
- this._setBaseDescriptionVisibility(true);
- },
- handleValueHelpNewRow: function (oEvent,sNameMessageDialog){
- this.onOpenDialog(oEvent,sNameMessageDialog);
- },
- /*
- handleValueHelpNewRowBase: function(oEvent, oNameMessageDialog){
- // open della lista delle basi il materiale selezionato è salvato in
- var sMaterialDescription = this._sNameDialog.getContent()[0].getItems()[0].getItems()[1].getValue();
- var sMaterialCode = this._sNameDialog.getContent()[0].getItems()[0].getItems()[1].getDescription();
- // 1) prendo active base
- var activeBase = this.getView().getModel("temp").getProperty("/activeBase");
- // 2) prendo base/mat da BW/Material/BASE
- var matBase = this.getView().getModel("oBWModel").getProperty("/Material");
- // 3) prendo le basi associate a questo materiale dalla tabella
- var aItems = this.getView().byId("MaterialTable").getItems();
- var sBases = [];
- aItems.forEach( x => {if(sMaterialDescription=== x.getCells()[3].getText()) sBases.push( x.getCells()[0].getText() ) } );
- // 2) - 1) -3)
- var res = this.arrayStringCopy(matBase);
- var aFilters = [];
- activeBase.forEach( function(x) {
- aFilters.push( new Filter('BASECODE', sap.ui.model.FilterOperator.EQ, x.BASECODE) );
- });
- // inserisco i filtri attivi in or
- var activeBaseFilters = [];
- activeBaseFilters.push( new Filter({ filters: aFilters, and:false }) );
- aFilters = [];
- sBases.forEach( function(x){
- aFilters.push( new Filter('BASECODE', sap.ui.model.FilterOperator.NE, x) );
- });
- // inserisco i filtri delle basi in tabella in and
- var baseInTable = [];
- baseInTable.push( new Filter({ filters: aFilters, and:true }) );
- aFilters = [];
- // solo le associabili al quel materiale selezionato
- // CERCO IL MATERIALE UGUALE A SMATERIALDESCRIPTION E SALVO LA BASE
- matBase.forEach( x => { if( x.MATERIALCODE === sMaterialCode) aFilters.push( new Filter('BASECODE', sap.ui.model.FilterOperator.NE, x.BASECODE) ); } );
- var asscoiateBAses = [];
- asscoiateBAses.push( new Filter({ filters: aFilters, and:true }) );
- // creo il filtro finale
- var totalFilters = [];
- totalFilters.push(new Filter({ filters: activeBaseFilters, and:true }));
- totalFilters.push(new Filter({ filters: baseInTable, and:true }));
- totalFilters.push(new Filter({ filters: asscoiateBAses, and:true }));
- // apply filters
- this.onOpenDialog(oEvent,oNameMessageDialog);
- this._sNameMessageDialog.getBinding('items').filter(totalFilters);
- },
- */
- handleValueHelpNewRowBase: function(oEvent, sNameMessageDialog){
- this.onOpenDialog(oEvent,sNameMessageDialog);
- var sTab = this.__currTab;
- var sApp = this.__currApp;
- var oModel = this.getView().getModel('oMockModel').getProperty('/' + sTab);
- var oModelBase = this.getView().getModel('oMockModel').getProperty('/Base');
- this.getView().getModel('temp').setProperty("/activeBase", _.where(oModelBase, {FLAGRELEVANT:'X'} ));
- var aFilters = [],
- aFilter = [];
- //Pre filtro il modello già sul materiale scelto
- if(sTab === 'Material'){
- var sMaterialDescription = this._sNameDialog.getContent()[0].getItems()[0].getItems()[1].getValue();
- var sMaterialCode = this._sNameDialog.getContent()[0].getItems()[0].getItems()[1].getDescription();
- var oJson = {
- MATERIALCODE : sMaterialCode
- };
- oModel = _.where (oModel, oJson);
- }else if(sTab === 'MovementAssociation'){ //Pre filtro il modello già sul movimento scelto
- var sMovementDescription = this._sNameDialog.getContent()[0].getItems()[0].getItems()[1].getSelectedItem().getText();
- var oJson = {
- MOVEMENTCODE : sMovementDescription
- };
- oModel = _.where (oModel, oJson);
- }
- //Le basi già presenti in tabella non vengono mostrate
- for (var i = 0 ; i < oModel.length ; i++){
- var sBaseCode = oModel[i].BASECODE;
- aFilter.push(new Filter('BASECODE', sap.ui.model.FilterOperator.NE, sBaseCode));
- }
- if(aFilter.length !== 0){
- aFilters.push(new Filter({
- filters: aFilter,
- and:true
- }));
- aFilter = [];
- }
- //per il tab material di tutte le basi possibili si mostrano solo le rilevanti (per movement association si fa lo stesso utilizzando il temp>activeBase)
- if (sTab === 'Material'){
- for (var i = 0 ; i < oModelBase.length ; i++){
- if(oModelBase[i].FLAGRELEVANT === 'X'){
- var sRelevantBaseCode = oModelBase[i].BASECODE;
- aFilter.push(new Filter('BASECODE', sap.ui.model.FilterOperator.EQ, sRelevantBaseCode));
- }
- }
- }
- if(aFilter.length !== 0){
- aFilters.push(new Filter({
- filters: aFilter,
- and:false
- }));
- aFilter = [];
- }
- // per il tab 'Material' di tutte le basi rilevanti si mostrano solo quelle associabili al materiale selezionato
- if (sTab === 'Material'){
- var oJson = {};
- var oBWModel = this.getView().getModel('oBWModel').getProperty('/' + sTab);
- var sMaterialCode = this._sNameDialog.getContent()[0].getItems()[0].getItems()[1].getDescription();
- sMaterialCode = sMaterialCode * 1;
- aFilter.push(new Filter('MATERIALCODE', sap.ui.model.FilterOperator.EQ, sMaterialCode));
- }
- if(aFilter.length !== 0){
- aFilters.push(new Filter({
- filters: aFilter,
- and:false
- }));
- aFilter = [];
- }
- if (aFilters.length !== 0){
- var oFilter = new Filter({
- filters: aFilters,
- and: true
- });
- this._sNameMessageDialog.getBinding('items').filter(oFilter);
- }
- // per i Tab Material e MovementAssociation si controlla la coerenza tra i token esistenti nella multiinput e gli oggetti selezionati nella multiselect
- if (sTab === 'Material' || sTab === 'MovementAssociation'){
- var oMultiInput = this._sNameDialog.getContent()[1].getItems()[1];
- var oTokens = oMultiInput.getTokens();
- var oItems= this._sNameMessageDialog.getItems();
- this._checkExistToken(oItems, oTokens);
- }
- var sFieldName = oEvent.getSource().data('fieldName');
- this.getView().getModel('temp').setProperty('/' + this.__currTab + sFieldName + 'DefaultFilter', oFilter);
- },
- handleValueHelpOkNewRowBaseDescription: function(oEvent){
- var aItems = oEvent.getSource().getItems();
- var oInput = this._sNameDialog.getContent()[1].getItems()[1];
- var aTokenItems = [];
- var aBaseCode = [];
- var aTokens = [];
- var sTab = this.__currTab;
- var sApp = this.__currApp;
- for (var i = 0 ; i < aItems.length; i++){
- if (aItems[i].getSelected() === true){
- var sTitle = aItems[i].getTitle();
- var oTokenItem = { text: sTitle };
- aTokenItems.push(oTokenItem);
- var oToken = new sap.m.Token(oTokenItem);
- aTokens.push(oToken);
- if (sTab === 'MovementAssociation'){
- var sBaseCode=aItems[i].getDescription();
- var oTempObj = {
- BASECODE: sBaseCode
- }
- aBaseCode.push(oTempObj);
- this.getView().getModel("temp").setProperty("/" + sApp + "/" + sTab + "/NewRows", aBaseCode);
- }
- }
- }
- oInput.setTokens(aTokens);
- },
- handleValueHelpNewRowClose: function (oEvent) {
- var oDialog = oEvent.getSource();
- //this._setBaseDescriptionVisibility(false);
- oDialog.destroy();
- },
- onSaveNewMovement: function (oEvent,sNameDialog, sNameMessageDialog){
- var sTab = this.__currTab;
- var sApp = this.__currApp;
- this.getView().getModel("temp").setProperty("/" + sApp + "/" + sTab + "/isEditModeOn", true);
- var oBaseCode = this.getView().getModel("temp").getProperty("/" + sApp + "/" + sTab + "/NewRows");
- var oMovement = this.getView().getModel('oMockModel').getProperty('/Movement');
- var oSelect = this._sNameDialog.getContent()[0].getItems()[0].getItems()[1];
- var oMultiInput = this._sNameDialog.getContent()[1].getItems()[1];
- var aSelectedBases= oMultiInput.getTokens();
- var aBase=[];
- var aNewRows = [];
- if (oSelect.getSelectedItem()!== null){
- var sMovementCode = oSelect.getSelectedItem().getText();
- var oJson = {};
- oJson['MOVEMENTCODE']= sMovementCode;
- var aAssociatedObj =_.where(oMovement, oJson);
- var sMovementDescription = aAssociatedObj[0].MOVEMENTDESCRIPTION;
- var sSign = aAssociatedObj[0].SIGN;
- for (var i = 0 ; i < aSelectedBases.length; i++){
- var oNewBaseJson = {
- BASEDESCRIPTION: aSelectedBases[i].getText(),
- BASECODE: oBaseCode[i].BASECODE
- };
- aBase.push(oNewBaseJson);
- }
- for (var j = 0 ; j < aBase.length; j++){
- var oNewRowJson = {
- MOVEMENTCODE: sMovementCode,
- MOVEMENTDESCRIPTION: sMovementDescription,
- SIGN: sSign,
- BASEDESCRIPTION: aBase[j].BASEDESCRIPTION,
- BASECODE: aBase[j].BASECODE,
- FLAGRELEVANT: "X",
- UPDATETYPE: 'new'};
- aNewRows.push(oNewRowJson);
- }
- }
- this._onSaveNewRow(aNewRows);
- },
- onSaveMaterialNewRow: function (oEvent, sNameDialog, sNameMessageDialog){
- var sTab = this.__currTab;
- var sApp = this.__currApp;
- this.getView().getModel("temp").setProperty("/" + sApp + "/" + sTab + "/isEditModeOn", true);
- var oMaterial=this.getView().getModel('oMockModel').getProperty('/' + sTab);
- var oBaseModel = this.getView().getModel('oBWModel').getProperty('/Base');
- var oMaterialInput = this._sNameDialog.getContent()[0].getItems()[0].getItems()[1];
- var oBaseInput = this._sNameDialog.getContent()[1].getItems()[1];
- var aSelectedBases= oBaseInput.getTokens();
- var aBase=[];
- var aNewRows = [];
- var oTabCode = this.getView().getModel("temp").getProperty("/" + sApp + "/" + sTab + "/NewRows");
- var sMaterialCode = oTabCode.MATERIALCODE;
- var sMaterialDescription = oMaterialInput.getValue();
- for (var i = 0 ; i < aSelectedBases.length; i++){
- var sBaseDescription = oBaseInput.getTokens()[i].getText();
- var oJson = {};
- oJson['BASEDESCRIPTION']= sBaseDescription;
- var oBaseCode = _.where (oBaseModel, oJson);
- var sBaseCode = oBaseCode[0].BASECODE;
- var oNewBaseJson = {
- BASECODE: sBaseCode,
- BASEDESCRIPTION: sBaseDescription
- };
- aBase.push(oNewBaseJson);
- }
- for (var j = 0 ; j < aBase.length; j++){
- var oNewRowJson = {
- BASECODE: aBase[j].BASECODE,
- BASEDESCRIPTION : aBase[j].BASEDESCRIPTION,
- MATERIALCODE: sMaterialCode,
- MATERIALDESCRIPTION: sMaterialDescription,
- FLAGRELEVANT: "X",
- UPDATETYPE: 'new'};
- aNewRows.push(oNewRowJson);
- }
- this._onSaveNewRow(aNewRows);
- },
- onSaveBaseNewRow: function (oEvent, sNameDialog, sNameMessageDialog){
- var sTab = this.__currTab;
- var sApp = this.__currApp;
- this.getView().getModel("temp").setProperty("/" + sApp + "/" + sTab + "/isEditModeOn", true);
- var oBaseModel = this.getView().getModel('oMockModel').getProperty('/Base');
- var oSelectBase = this._sNameDialog.getContent()[0].getItems()[0].getItems()[1];
- var oSelectNetwork = this._sNameDialog.getContent()[1].getItems()[0].getItems()[1];
- var oTabCode = this.getView().getModel("temp").getProperty("/" + sApp + "/" + sTab + "/NewRows");
- var oNetworkModel = this.getView().getModel('oBWModel').getProperty('/Network');
- var sBaseDescription = oSelectBase.getValue();
- var sNetwork = oSelectNetwork.getValue();
- var oNetworkJson = {};
- oNetworkJson['NETWORKDESCRIPTION'] = sNetwork;
- var oNetworkCode = _.where ( oNetworkModel, oNetworkJson);
- var aNetworkCodes=[];
- if (oNetworkCode.length !== 0 ){
- var sNetworkCode = oNetworkCode[0].NETWORK;
- }else {
- if (sNetwork === ''){
- var sNetworkCode = '';
- }else{
- for(var i = 0 ; i < oBaseModel.length ; i++){
- aNetworkCodes.push(Number(oBaseModel[i].NETWORK));
- var sNetworkCode = String (_.max(aNetworkCodes) + 1 );
- }
- }
- }
- var sBaseCode = oTabCode.BASECODE;
- var aNewRows = [];
- var oNewRowJson = {
- BASECODE : sBaseCode,
- BASEDESCRIPTION : sBaseDescription,
- NETWORKDESCRIPTION : sNetwork,
- NETWORK: sNetworkCode,
- FLAGRELEVANT : "X",
- UPDATETYPE : 'new'};
- aNewRows.push(oNewRowJson);
- this._onSaveNewRow(aNewRows);
- },
- _onSaveNewRow: function (aNewRows) {
- var sApp = this.__currApp;
- var validityFlag = true;
- var validityRow = this._rowValidity();
- var sTabName = this._sNameDialog.data('tabName');
- validityFlag = validityFlag = validityFlag && validityRow;
- if (validityFlag) {
- var oUpdateModel = this.getView().getModel("oMockModel").getProperty("/" + sTabName );
- aNewRows.forEach(function(x) {
- oUpdateModel.unshift(x);
- });
- this.getView().getModel("oMockModel").setProperty("/" + sTabName , oUpdateModel);
- }else {
- if (sTabName === 'Base'){
- this._handleWarningMessageBoxPress("ImpossibleToSaveConfigurationBase");
- } else {
- this._handleWarningMessageBoxPress("ImpossibleToSaveConfiguration");
- }
- }
- this._sNameDialog.destroy();
- this._sNameMessageDialog.destroy();
- this._setBaseDescriptionVisibility(false);
- },
- _rowValidity: function() {
- var bFlag = true;
- var sTabName = this.__currTab;
- var oUsersEntry = this.getView().getModel('temp').getProperty('/Configuration/Base/UsersEntry');
- var oMaxLengthJson = {};
- oMaxLengthJson['FIELDNAME'] = 'NETWORKDESCRIPTION';
- var sMaxLength = _.where ( oUsersEntry, oMaxLengthJson )[0]['MAXLENGTH'];
- if (sTabName === 'Base') {
- var oInputNetwork = this._sNameDialog.getContent()[1].getItems()[0].getItems()[1];
- var sInputBase = this._sNameDialog.getContent()[0].getItems()[0].getItems()[1].getValue(); //BASE
- var sInputNetwork = oInputNetwork.getValue(); //BASE
- if (sInputBase === '' || sInputNetwork.length > sMaxLength ){
- bFlag = false;
- }
- }
- if (sTabName === 'Material') {
- var aTokens= this._sNameDialog.getContent()[1].getItems()[1].getTokens(); //MATERIAL, MOVEMENT
- var oDescription = this._sNameDialog.getContent()[0].getItems()[0].getItems()[1]; //MATERIAL, MOVEMENT
- var sInputValue = oDescription.getValue(); //MATERIAL
- if (aTokens.length === 0 || sInputValue === '' ){
- bFlag = false;
- }
- }
- if (sTabName === 'MovementAssociation') {
- var aTokens= this._sNameDialog.getContent()[1].getItems()[1].getTokens(); //MATERIAL, MOVEMENT
- var oDescription = this._sNameDialog.getContent()[0].getItems()[0].getItems()[1]; //MATERIAL, MOVEMENT
- var oSelectedItem = oDescription.getSelectedItem(); //MOVEMENT
- if (aTokens.length === 0 || oSelectedItem.length === 0 ){
- bFlag = false;
- }
- }
- return bFlag;
- },
- ///////////////////////////////////////////////////////////
- // FUNZIONI PRIVATE //
- ///////////////////////////////////////////////////////////
- //RITORNO L'ARRAY DEI FILTRI COSTRUITO SUI VALORI PRESENTI NEL MODELLO DEI FILTRI PER I MULTIINPUT
- _returnTokenFilters: function(aTokenFieldNames, sCurrApp, sNameTab) {
- //Gestione Token
- var aTokenFilters = [];
- for (var i = 0; i < aTokenFieldNames.length; i++) {
- var aFilters = [];
- var sFieldName = aTokenFieldNames[i];
- var aFilterModel = this.getView().getModel("filters").getProperty("/" + sCurrApp + "/" + sNameTab + "/values/" + sFieldName);
- if (aFilterModel && aFilterModel.length !== 0) {
- for (var j = 0; j < aFilterModel.length; j++) {
- var currValue = aFilterModel[j].text;
- aFilters.push(new Filter(sFieldName, sap.ui.model.FilterOperator.EQ, currValue));
- }
- var oFilter = new Filter({
- filters: aFilters,
- and: false
- });
- aTokenFilters.push(oFilter);
- }
- }
- return (aTokenFilters.length !== 0) ? new Filter({
- filters: aTokenFilters,
- and: true
- }) : null;
- },
- //RITORNO L'ARRAY DEI FILTRI COSTRUITO SUI VALORI PRESENTI NEL MODELLO DEI FILTRI PER I SELECTEDBUTTON
- _returnRelevantFlagFilters: function(aRelevantFlagFieldNames, sCurrApp, sNameTab) {
- var aRelevantFlagFilters = [];
- for (var i = 0; i < aRelevantFlagFieldNames.length; i++) {
- var aFilters = [];
- var sFieldName = aRelevantFlagFieldNames[i];
- var aFilterModel = this.getView().getModel("filters").getProperty("/" + sCurrApp + "/" + sNameTab + "/values/" + sFieldName);
- var currValue = aFilterModel;
- if (currValue !== 'ALL') {
- aFilters.push(new Filter(sFieldName, sap.ui.model.FilterOperator.EQ, currValue));
- var oFilter = new Filter({
- filters: aFilters,
- and: false
- });
- aRelevantFlagFilters.push(oFilter);
- }
- }
- return (aRelevantFlagFilters.length !== 0) ? new Filter({
- filters: aRelevantFlagFilters,
- and: true
- }) : null;
- },
- //RITORNO L'ARRAY DEI FILTRI COSTRUITO SUL VALORE PRESENTE NEL MODELLO DEI FILTRI PER IL SEARCHFIELD
- //DEVE COSTRUIRE UN ARRAY DI FILTRI SU TUTTI I CAMPI DEL MODELLO CONTROLLANDO SE IL VALORE � CONTENUTO
- //IN UNO DEI CAMPI
- _returnSearchFieldFilters: function(sCurrApp, sNameTab, sFilterField) {
- var sValue = this.getView().getModel("filters").getProperty("/" + sCurrApp + "/" + sNameTab + "/values/" + sFilterField),
- aTokenFieldNames,
- aRelevantFlagFieldNames,
- aAllFieldName,
- sFieldName,
- aAllFilters = [];
- aTokenFieldNames = this._returnFieldNameArray(sCurrApp, sNameTab, 'TOKENFIELDSNAME');
- aRelevantFlagFieldNames = this._returnFieldNameArray(sCurrApp, sNameTab, 'RELEVANTFLAGFIELDNAME');
- aAllFieldName = aTokenFieldNames.concat(aRelevantFlagFieldNames);
- if (sValue !== '') {
- for (var i = 0; i < aAllFieldName.length; i++) {
- sFieldName = aAllFieldName[i];
- aAllFilters.push(new Filter(sFieldName, sap.ui.model.FilterOperator.Contains, sValue));
- }
- }
- return (sValue !== '') ? new Filter({
- filters: aAllFilters,
- and: false
- }) : null;
- },
- _returnFieldNameArray: function(sCurrApp, sNameTab, sGroupFieldType) {
- return this.getView().getModel("filters").getProperty("/" + sCurrApp + "/" + sNameTab + "/values/" + sGroupFieldType);
- },
- _setEditMode: function(isEditModeOn, oRows){
- var oTempModel = this.getView().getModel("temp"),
- oTable = this.byId(this.__currTab + 'Table'),
- sTableMode = (isEditModeOn === true) ? "None" : "MultiSelect",
- aModifiedIndexs = [],
- iModifiedIndex;
- oTempModel.setProperty("/" + this.__currApp + "/" + this.__currTab + "/isEditModeOn", isEditModeOn);
- this.getView().getModel("temp").setProperty("/" + this.__currApp + "/" + this.__currTab + "/selectedModeOn", false);
- oTable.setMode(sTableMode);
- aModifiedIndexs = this._returnModifiedIndex(oRows[0]);
- for (var i = 0 ; i < oRows.length ; i++){
- for(var j = 0 ; j < aModifiedIndexs.length ; j ++){
- iModifiedIndex = aModifiedIndexs[j];
- oRows[i].getCells()[iModifiedIndex].setEditable(isEditModeOn);
- if(oRows[i].getCells()[iModifiedIndex].data('typing') !== undefined){
- oRows[i].getCells()[iModifiedIndex].data('typing', false);
- }
- }
- }
- },
- _handleWarningMessageBoxPress: function(keyText) {
- var bCompact = !!this.getView().$().closest(".sapUiSizeCompact").length,
- oBundle = this.getView().getModel("i18n").getResourceBundle(),
- text = oBundle.getText(keyText);
- sap.m.MessageBox.warning(
- text, {
- styleClass: bCompact ? "sapUiSizeCompact" : ""
- }
- );
- },
- _returnModifiedIndex: function(oRow){
- var oCells = oRow.getCells(),
- oCell,
- aModifiedIndex = [];
- for(var i = 0 ; i < oCells.length ; i++){
- oCell = oCells[i];
- if(oCell.data("beModified") === 'true'){
- aModifiedIndex.push(i);
- }
- }
- return aModifiedIndex;
- },
- _setBaseDescriptionVisibility: function(isTrue){
- var oTempModel = this.getView().getModel("temp");
- oTempModel.setProperty("/enableBaseDescription", isTrue);
- },
- /* _setOnSendChangesMode: function(bMode){
- var oTempModel = this.getView().getModel("temp");
- oTempModel.setProperty("/"+ this.__currApp + "/" + this.__currTab + "/enableSendChangesModeOn", bMode);
- this.getView().byId('onSendChangesConfigurationButton').setProperty('enabled', bMode);
- }, */
- _updateOData: function(tab, oModel, sEntitySet, keys, oNewJson, total){
- this._thatoModel = oModel;
- this._thatsEntitySet = sEntitySet;
- this._thatkeys = keys;
- this._thatoNewJson = oNewJson;
- this._thattotal = total
- var controller = this,
- aResolvedScrap = {};
- var key;
- if( keys.length === 2 ) key = keys[0] + "='" + oNewJson[keys[0]] + "'," + keys[1] + "='" + oNewJson[keys[1]] + "'" ;
- else key = "'" + oNewJson[keys] + "'" ;
- oModel.update( sEntitySet + "(" + key + ")", oNewJson, {
- success: function(oData, response){
- controller.__counterUpdateRequests['success']++;
- var sum = controller.__counterCreateRequests['success'] + controller.__counterCreateRequests['error'] +
- controller.__counterUpdateRequests['success'] + controller.__counterUpdateRequests['error'];
- if(sum === total){
- controller.destroyBusyDialog();
- controller._onMessageSuccessDialog();
- controller.loadSingleModel(controller.getView(), "GATEWAYMODEL", "Configuration");
- controller.loadSingleModel(controller.getView(), "GATEWAYMODEL", "Transcoding");
- controller.getView().byId(tab + "Table").getBinding("items");
- controller.__counterCreateRequests['success'] = 0;
- controller.__counterCreateRequests['error'] = 0;
- controller.__counterUpdateRequests['success'] = 0;
- controller.__counterUpdateRequests['error'] = 0;
- /*
- * IN TEORIA DA ELIMINARE. VEDERE DA ANDREA
- if(controller._thatoNewJson.FLAGRELEVANT === "X"){
- var aScarpRevolved = controller.checkScrapResolved('Relevance');
- if(aScarpRevolved.length !== 0){
- for(var i = 0 ; i < aScarpRevolved.lenght ; i++){
- //Richiama BE di risoluzione scarti
- }
- }
- }
- */
- //Configuration, Base
- // BASECODE,
- // BASECODE: "I103"
- // BASEDESCRIPTION: "MFG MERIDIONALE ALCOLICI"
- // FLAGRELEVANT: ""
- // NETWORK: "2"
- // NETWORKDESCRIPTION: "Silone"
- //Configuration, Material
- // ["BASECODE", "MATERIALCODE"]
- // BASECODE: "I102"
- // BASEDESCRIPTION: "Milazzo Marketing"
- // FLAGRELEVANT: "X"
- // MATERIALCODE: "000000000000301551"
- // MATERIALDESCRIPTION: " BASRAH HEAVY CRUDE OIL"
- //Configuration, MovementAssociation
- // ["BASECODE", "MOVEMENTCODE"]
- // BASECODE: "I102"
- // BASEDESCRIPTION: "Milazzo Marketing"
- // FLAGRELEVANT: ""
- // MOVEMENTCODE: "YCC"
- // MOVEMENTDESCRIPTION: "Movimento 3 (Carico 2)"
- // SIGN: "+"
- }
- },
- error: function(oData, response){
- controller.__counterUpdateRequests['error']++;
- var sum = controller.__counterCreateRequests['success'] + controller.__counterCreateRequests['error'] +
- controller.__counterUpdateRequests['success'] + controller.__counterUpdateRequests['error'];
- if(sum === total){
- controller.destroyBusyDialog();
- controller._onMessageErrorDialog();
- controller.loadSingleModel(controller.getView(), "GATEWAYMODEL", "Configuration");
- controller.loadSingleModel(controller.getView(), "GATEWAYMODEL", "Transcoding");
- controller.__counterCreateRequests['success'] = 0;
- controller.__counterCreateRequests['error'] = 0;
- controller.__counterUpdateRequests['success'] = 0;
- controller.__counterUpdateRequests['error'] = 0;
- }
- }
- });
- },
- _createODataParam: function(tab, oModel, sEntitySetParam, oNewJsonParam){
- oModel.create( sEntitySetParam, oNewJsonParam, {
- success: function(oData, response){ console.log("success");
- controller.loadSingleModel(controller.getView(), "GATEWAYMODEL", "Parameters");},
- error: function(oData, response){ console.log("error");
- controller.loadSingleModel(controller.getView(), "GATEWAYMODEL", "Parameters");}
- });
- },
- _createOData: function(tab, oModel, sEntitySet, oNewJson, total, sEntitySetTranscoding, oNewJsonTranscoding){
- this._thatoModel = oModel;
- this._thatsEntitySet = sEntitySet;
- this._thatoNewJson = oNewJson;
- this._thattotal = total
- var controller = this;
- oModel.create( sEntitySet, oNewJson, {
- success: function(oData, response){
- controller.__counterCreateRequests['success']++;
- var sum = controller.__counterCreateRequests['success'] + controller.__counterCreateRequests['error'] +
- controller.__counterUpdateRequests['success'] + controller.__counterUpdateRequests['error'];
- if(sum === total){
- controller.destroyBusyDialog();
- controller._onMessageSuccessDialog();
- controller.loadSingleModel(controller.getView(), "GATEWAYMODEL", "Configuration");
- controller.loadSingleModel(controller.getView(), "GATEWAYMODEL", "Transcoding");
- controller.getView().byId(tab + "Table").getBinding("items");
- controller.__counterCreateRequests['success'] = 0;
- controller.__counterCreateRequests['error'] = 0;
- controller.__counterUpdateRequests['success'] = 0;
- controller.__counterUpdateRequests['error'] = 0;
- controller.checkScrapResolved('ExistenceRelevance');
- }
- oModel.create( sEntitySetTranscoding, oNewJsonTranscoding, {
- success: function(oData, response){ console.log("success"); },
- error: function(oData, response){ console.log("error"); }
- });
- },
- error: function(oData, response){
- controller.__counterCreateRequests['error']++;
- var sum = controller.__counterCreateRequests['success'] + controller.__counterCreateRequests['error'] +
- controller.__counterUpdateRequests['success'] + controller.__counterUpdateRequests['error'];
- if(sum === total){
- controller.destroyBusyDialog();
- controller._onMessageErrorDialog();
- controller.loadSingleModel(controller.getView(), "GATEWAYMODEL", "Configuration");
- controller.loadSingleModel(controller.getView(), "GATEWAYMODEL", "Transcoding");
- controller.__counterCreateRequests['success'] = 0;
- controller.__counterCreateRequests['error'] = 0;
- controller.__counterUpdateRequests['success'] = 0;
- controller.__counterUpdateRequests['error'] = 0;
- }
- }
- });
- },
- _onMessageSuccessDialog: function() {
- var controller = this;
- var sum = controller.__counterCreateRequests['success'] + controller.__counterCreateRequests['error'] +
- controller.__counterUpdateRequests['success'] + controller.__counterUpdateRequests['error'];
- var totalCreate = controller.__counterCreateRequests['success'] + controller.__counterCreateRequests['error'];
- var totalUpdate = controller.__counterUpdateRequests['success'] + controller.__counterUpdateRequests['error'];
- this._sNameMessageDialog = sap.ui.xmlfragment("it.q8.supply.view.configuration.fragment.dialog.ConfirmCreateOrModifyDialog", this);
- this.getView().addDependent(this._sNameMessageDialog);
- this._sNameMessageDialog.open();
- var sText = "Record creati: " + controller.__counterCreateRequests['success'] + " su " + totalCreate +
- ", Record modificati: " + controller.__counterUpdateRequests['success'] + " su " + totalUpdate;
- this.getView().getModel("temp").setProperty("/ConfirmSuccessText", sText);
- /*
- var dialog = new sap.m.Dialog({
- title: 'Success',
- type: 'Message',
- state: 'Success',
- content: new sap.m.Text({
- text: "Righe create: " + controller.__counterCreateRequests['success'] + " su " + totalCreate +
- ", Righe modificate: " + controller.__counterUpdateRequests['success'] + " su " + totalUpdate
- }),
- beginButton: new sap.m.Button({
- text: 'OK',
- press: function () {
- dialog.close();
- }
- }),
- afterClose: function() {
- dialog.destroy();
- }
- });
- */
- //dialog.open();
- },
- _onMessageErrorDialog: function() {
- var controller = this;
- var sum = controller.__counterCreateRequests['success'] + controller.__counterCreateRequests['error'] +
- controller.__counterUpdateRequests['success'] + controller.__counterUpdateRequests['error'];
- var totalCreate = controller.__counterCreateRequests['success'] + controller.__counterCreateRequests['error'];
- var totalUpdate = controller.__counterUpdateRequests['success'] + controller.__counterUpdateRequests['error'];
- var dialog = new sap.m.Dialog({
- title: 'Error',
- type: 'Message',
- state: 'Error',
- content: new sap.m.Text({
- text: "Righe create: " + controller.__counterCreateRequests['success'] + " su " + totalCreate +
- ", Righe modificate: " + controller.__counterUpdateRequests['success'] + " su " + totalUpdate
- }),
- beginButton: new sap.m.Button({
- text: 'OK',
- press: function () {
- dialog.close();
- }
- }),
- afterClose: function() {
- dialog.destroy();
- }
- });
- dialog.open();
- },
- _onMessageWarningDialog: function(sKeyText) {
- var controller = this;
- var oBundle = this.getView().getModel("i18n").getResourceBundle();
- var sText = oBundle.getText(sKeyText);
- var dialog = new sap.m.Dialog({
- title: 'Warning',
- type: 'Message',
- state: 'Warning',
- content: new sap.m.Text({
- text: sText
- }),
- beginButton: new sap.m.Button({
- text: 'OK',
- press: function () {
- dialog.close();
- }
- }),
- afterClose: function() {
- dialog.destroy();
- }
- });
- dialog.open();
- },
- /*
- This function adds a tooltip to codes in table
- */
- _addTooltip: function(controller, oTable){
- var aItems = oTable.getItems();
- if(aItems.length > 0){
- var indexes = [];
- aItems[0].getCells().forEach( x=> {if(x.getBindingInfo('value') !== undefined) {
- var sPath = x.getBindingInfo("value").binding.sPath;
- if( sPath.endsWith("DESCRIPTION")) indexes.push( aItems[0].getCells().indexOf(x) )
- }
- });
- // for every row
- for(var i= 0; i < aItems.length; i++){
- // for every description
- for(var j = 0; j < indexes.length; j++){
- aItems[i].getCells()[ indexes[j] ].addEventDelegate({
- onmouseover: function (oEvent) {
- // if( this.getView().byId(this.__currTab + "Table").getMode() === "MultiSelect") {
- var input = oEvent.srcControl;
- var tab = input.getBindingInfo("value").binding.sPath;
- var path = tab.replace("DESCRIPTION", "");
- path = path[0] + path.substr(1, path.length).toLowerCase();
- var oModel = this.getView().getModel("oMockModel").getProperty("/" + path);
- var json = {};
- json[tab] = input.getValue();
- var res = _.findWhere(oModel, json);
- res = res !== undefined ? "Codice: " + res[path.toUpperCase() + "CODE"] : "Codice non disponibile";
- input.setTooltip(res);
- // }
- }
- }, controller);
- }
- }
- }
- },
- onNavBack:function(oEvent){
- var controller = this;
- controller.getRouter().navTo("homepage");
- }
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement