123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- var DELETE_NO_SELECTION = 1;
- var DELETE_ILLEGAL_SELECTION = 2;
- function CDelete()
- {
- this.m_aFilters = [];
- this.m_aSorts = [];
- };
- CDelete.prototype = new AFeatureObject();
- CDelete.prototype.processErrorState = function ()
- {
- if (this.m_iErrorState === FEATURE_OBJECT_NO_ERROR)
- {
- return false;
- }
- else if (this.m_iErrorState === DELETE_NO_SELECTION)
- {
- dlgShowMessage("DELETE_TITLE", "", "DELETE_NO_SELECTION");
- return true;
- }
- else if (this.m_iErrorState === DELETE_ILLEGAL_SELECTION)
- {
- return true;
- }
- };
- CDelete.prototype.proceedWithoutDialog = function ()
- {
- return this.execute();
- };
- CDelete.prototype.setup = function (aFeatureParams)
- {
- this.m_aParams = [];
- this.m_bRequiresDialog = false;
- this.m_iErrorState = FEATURE_OBJECT_NO_ERROR;
- this.m_aFilters = [];
- this.m_aSorts = [];
- var oSelController = goApplicationManager.getSelectionController();
- var aSelColIds = oSelController.getSelectedColumnIds();
- if (aSelColIds.length === 0)
- {
- this.m_iErrorState = DELETE_NO_SELECTION;
- return;
- }
- else if (!checkForValidSelection(true))
- {
- this.m_iErrorState = DELETE_ILLEGAL_SELECTION;
- return;
- }
- var oMQMgr = goApplicationManager.getMiniQueryManager();
- for (var idxSelection = 0; idxSelection < aSelColIds.length; idxSelection++)
- {
- var aFilters = oMQMgr.getFiltersForColumn(aSelColIds[idxSelection]);
- if (aFilters !== MINI_QUERY_NO_COLUMN_FOUND)
- {
- this.m_aFilters = this.m_aFilters.concat(aFilters);
- }
- var sSort = oMQMgr.getSort(aSelColIds[idxSelection]);
- if (sSort !== MINI_QUERY_ATTRIBUTE_NOT_FOUND && sSort !== MINI_QUERY_NO_COLUMN_FOUND)
- {
- this.m_aSorts[this.m_aSorts.length] = aSelColIds[idxSelection];
- }
- }
- if (this.m_aFilters.length > 0 || this.m_aSorts.length > 0)
- {
- this.m_bRequiresDialog = true;
- this.m_aParams["m"] = "/" + qs_dir + "/deleteConfirm.xts";
- }
- };
- CDelete.prototype.execute = function (aParameters)
- {
- try
- {
- var oDlgFrame = goApplicationManager.getDialogFrame();
- if (typeof oDlgFrame == "object")
- {
- var aInputElements = oDlgFrame.document.getElementsByTagName("input");
- var aCheckedFilterInputs = [];
- var aCheckedSortInputs = [];
- for (var idxElt = 0; idxElt < aInputElements.length; idxElt++)
- {
- if (aInputElements[idxElt].name == "cbElt" && aInputElements[idxElt].checked === true)
- {
- var sId = aInputElements[idxElt].id;
- if (sId.indexOf("SortId") >= 0)
- {
- aCheckedSortInputs[aCheckedSortInputs.length] = parseInt(sId, 10);
- }
- else
- {
- aCheckedFilterInputs[aCheckedFilterInputs.length] = aInputElements[idxElt].value;
- var oMQMgr = goApplicationManager.getMiniQueryManager();
- var sColumnRef = oMQMgr.getPromptReferenceOnFilter(aInputElements[idxElt].value);
- if (typeof sColumnRef == "string" && sColumnRef !== "")
- {
- goApplicationManager.getReportManager().getParameterManager().deletePromptPageParameter(sColumnRef);
- }
- }
- }
- }
- var sCommand = "";
- var idxSelection = 0;
- if (aCheckedFilterInputs.length > 0)
- {
- var oCombinedFilters = getCombinedFilter();
- if (oCombinedFilters)
- {
- oCombinedFilters.deleteFilters(aCheckedFilterInputs);
- sCommand += oCombinedFilters.getCommand() + ";";
- }
- else
- {
- sCommand += createCommand("O", "D", ["id", aCheckedFilterInputs[0]]) + ";";
- }
- }
- if (aCheckedSortInputs.length > 0)
- {
-
- for (var idxSort = 0; idxSort < aCheckedSortInputs.length; idxSort++)
- {
- var sSelectionIdx = aCheckedSortInputs[idxSort];
- var aCommandArray = [escapeParam(this.m_aSorts[sSelectionIdx])];
- sCommand += createCommand("S", "R", aCommandArray) + ";";
- }
- }
- var oSelController = goApplicationManager.getSelectionController();
- var aSelColIds = oSelController.getSelectedColumnIds();
- var aColsToDelete = [];
- for (idxSelection = 0; idxSelection < aSelColIds.length; idxSelection++)
- {
- aColsToDelete[aColsToDelete.length] = escapeParam(aSelColIds[idxSelection]);
- }
- sCommand += createCommand("M", "D", aColsToDelete);
- sendCmd(sCommand, "", true);
- }
- goApplicationManager.getWindowManager().hideDialogFrame();
- }
- catch (e)
- {
- }
- };
|