|
@@ -340,7 +340,14 @@ function selectedActions(idContext) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function createFilterStoreWithInitialData(initialFilter) {
|
|
function createFilterStoreWithInitialData(initialFilter) {
|
|
|
- var initialState = { isLoading: false, isEmpty: true, filter: new Map(), specialFilter: new Map(), currSortCol: '', currSortFlip: false }
|
|
|
|
|
|
|
+ var initialState = {
|
|
|
|
|
+ isLoading: false,
|
|
|
|
|
+ isEmpty: true,
|
|
|
|
|
+ filter: new Map(),
|
|
|
|
|
+ specialFilter: new Map(),
|
|
|
|
|
+ currSortCol: '',
|
|
|
|
|
+ currSortFlip: false
|
|
|
|
|
+ }
|
|
|
Object.keys(initialFilter).forEach(function (key) {
|
|
Object.keys(initialFilter).forEach(function (key) {
|
|
|
if ('currSortCol' === key) {
|
|
if ('currSortCol' === key) {
|
|
|
initialState.currSortCol = initialFilter[key]
|
|
initialState.currSortCol = initialFilter[key]
|
|
@@ -923,7 +930,7 @@ global['P5UI__TableAjaxSpecialFilterRelationFrom'] = createReactClass({
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
render: function () {
|
|
render: function () {
|
|
|
- DBG1 && console.log('DBG::P5UI__TableAjaxSpecialFilterRelationFrom::render (filterKey:'+this.props.filterKey+')', { state: this.state, props: this.props });
|
|
|
|
|
|
|
+ DBG && console.log('DBG::P5UI__TableAjaxSpecialFilterRelationFrom::render (filterKey:'+this.props.filterKey+')', { state: this.state, props: this.props });
|
|
|
var refInfo = p5WfsRefFilter.parse(this.props.filterKey); // null | { type: 'From' | 'To', idInstance: int }
|
|
var refInfo = p5WfsRefFilter.parse(this.props.filterKey); // null | { type: 'From' | 'To', idInstance: int }
|
|
|
return h('button', {
|
|
return h('button', {
|
|
|
className: "btn btn-xs btn-default active",
|
|
className: "btn btn-xs btn-default active",
|
|
@@ -1379,11 +1386,6 @@ var TableAjax = function() {
|
|
|
_uiNodeSelectedInfo
|
|
_uiNodeSelectedInfo
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
- } else {
|
|
|
|
|
- if (_uiNodeSelectedInfo) {
|
|
|
|
|
- // jQuery('<a href="'+window.location.href+'&TEST_CHECKBOX=1'+'">.</a>').appendTo(_uiNodeSelectedInfo);
|
|
|
|
|
- jQuery('<a href="'+window.location.href+'">.</a>').appendTo(_uiNodeSelectedInfo);
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if (location.hash) {
|
|
if (location.hash) {
|
|
@@ -1400,38 +1402,43 @@ var TableAjax = function() {
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
priv.onRender = function(e) {
|
|
priv.onRender = function(e) {
|
|
|
|
|
+ var renderUIParts = [];
|
|
|
|
|
+ if (arguments.length > 1) {
|
|
|
|
|
+ for (var i=1; i<arguments.length; i++) {
|
|
|
|
|
+ renderUIParts.push( arguments[i] );
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
if (priv.options.debug || DBG) console.log('onRender.arguments:', arguments.length, arguments, 'e:', e);
|
|
if (priv.options.debug || DBG) console.log('onRender.arguments:', arguments.length, arguments, 'e:', e);
|
|
|
|
|
+ DBG && console.log('DBG::onRender: ', { renderUIParts });
|
|
|
// console.log("priv.onRender arguments:", arguments);
|
|
// console.log("priv.onRender arguments:", arguments);
|
|
|
// console.trace();
|
|
// console.trace();
|
|
|
- if (arguments.length > 1) {
|
|
|
|
|
- for (var i=1; i<arguments.length; i++) {
|
|
|
|
|
- switch (arguments[i]) {
|
|
|
|
|
- case 'head': _head = undefined; break;
|
|
|
|
|
- case 'body': _body = undefined; break;
|
|
|
|
|
- case 'foot': _foot = undefined; break;
|
|
|
|
|
- case 'foot_pagination': {
|
|
|
|
|
- priv.renderFooterInfo();
|
|
|
|
|
- priv.renderFooterPagination();
|
|
|
|
|
- priv.renderFooterPageSizes();
|
|
|
|
|
- }
|
|
|
|
|
- break;
|
|
|
|
|
- case 'footer__toolbar__info': priv.renderFooterInfo(); break;
|
|
|
|
|
- case 'footer__toolbar__pagination': priv.renderFooterPagination(); break;
|
|
|
|
|
- case 'footer__toolbar__pagesizes': priv.renderFooterPageSizes(); break;
|
|
|
|
|
- case 'foot__columnPicker': priv.renderFooterColumnPicker(); break;
|
|
|
|
|
- case 'head__specialFilters': priv.renderHeadSpecialFilters(); break;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ renderUIParts.forEach(function (uiPart) {
|
|
|
|
|
+ switch (uiPart) {
|
|
|
|
|
+ case 'head': _head = undefined; break;
|
|
|
|
|
+ case 'body': _body = undefined; break;
|
|
|
|
|
+ case 'foot': _foot = undefined; break;
|
|
|
|
|
+ case 'foot_pagination': {
|
|
|
|
|
+ priv.renderFooterInfo();
|
|
|
|
|
+ priv.renderFooterPagination();
|
|
|
|
|
+ priv.renderFooterPageSizes();
|
|
|
|
|
+ }
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 'footer__toolbar__info': priv.renderFooterInfo(); break;
|
|
|
|
|
+ case 'footer__toolbar__pagination': priv.renderFooterPagination(); break;
|
|
|
|
|
+ case 'footer__toolbar__pagesizes': priv.renderFooterPageSizes(); break;
|
|
|
|
|
+ case 'foot__columnPicker': priv.renderFooterColumnPicker(); break;
|
|
|
|
|
+ case 'head__specialFilters': priv.renderHeadSpecialFilters(); break;
|
|
|
}
|
|
}
|
|
|
- priv.renderTable();
|
|
|
|
|
- priv.onWindowResize();
|
|
|
|
|
|
|
+ })
|
|
|
|
|
+ priv.renderTable();
|
|
|
|
|
+ priv.onWindowResize();
|
|
|
|
|
|
|
|
- {// activate saveBtn if some columns hidden
|
|
|
|
|
- var selectedFilter = priv.modelColFilter_getSelected();
|
|
|
|
|
- if (null === selectedFilter) {
|
|
|
|
|
- priv.modelColFilter_getSaveBtn().prop("disabled", false)
|
|
|
|
|
- } else {
|
|
|
|
|
- priv.modelColFilter_getSaveBtn().prop("disabled", true)
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ {// activate saveBtn if some columns hidden
|
|
|
|
|
+ var selectedFilter = priv.modelColFilter_getSelected();
|
|
|
|
|
+ if (null === selectedFilter) {
|
|
|
|
|
+ priv.modelColFilter_getSaveBtn().prop("disabled", false)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ priv.modelColFilter_getSaveBtn().prop("disabled", true)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
@@ -1497,16 +1504,26 @@ var TableAjax = function() {
|
|
|
|
|
|
|
|
priv.renderInlineEditBox();// .tblAjax__inlineEditBox
|
|
priv.renderInlineEditBox();// .tblAjax__inlineEditBox
|
|
|
|
|
|
|
|
- _foot = _head = _body = _headSort = _headFilter = undefined;// TODO: refactor
|
|
|
|
|
|
|
+ _foot = undefined;
|
|
|
|
|
+ _head = undefined;
|
|
|
|
|
+ _body = undefined;
|
|
|
|
|
+ _headSort = undefined;
|
|
|
|
|
+ _headFilter = undefined;// TODO: refactor
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
priv.renderTable = function() {
|
|
priv.renderTable = function() {
|
|
|
if (!_state.colsSorted) return;
|
|
if (!_state.colsSorted) return;
|
|
|
|
|
+ DBG && console.warn('DBG:renderTable: ', { _head, _headSort, _headFilter, _headSpecialFilter });
|
|
|
if (!_head) {
|
|
if (!_head) {
|
|
|
- _headSort = _headFilter = _headSpecialFilter = undefined;
|
|
|
|
|
|
|
+ _headSort = undefined;
|
|
|
|
|
+ _headFilter = undefined;
|
|
|
|
|
+ _headSpecialFilter = undefined;
|
|
|
_head = _uiNode$Table.find('thead');
|
|
_head = _uiNode$Table.find('thead');
|
|
|
}
|
|
}
|
|
|
- if (!_headSort) priv.renderTableTheadSort();
|
|
|
|
|
|
|
+ if (!_headSort) {
|
|
|
|
|
+ priv.renderTableTheadSort();
|
|
|
|
|
+ _headSort = true;
|
|
|
|
|
+ }
|
|
|
if (!_headFilter && priv.options.filter) {
|
|
if (!_headFilter && priv.options.filter) {
|
|
|
priv.renderTableTheadFilter();
|
|
priv.renderTableTheadFilter();
|
|
|
_headFilter = true;
|
|
_headFilter = true;
|
|
@@ -2856,6 +2873,7 @@ var TableAjax = function() {
|
|
|
state.page = data.page || 0;
|
|
state.page = data.page || 0;
|
|
|
state.pageSize = data.pageSize || priv.options.pageSize;
|
|
state.pageSize = data.pageSize || priv.options.pageSize;
|
|
|
state.filters = data.filters || {};
|
|
state.filters = data.filters || {};
|
|
|
|
|
+ DBG && console.warn('DBG:update... - FETCH_DATA END priv.setState(state);', { state });
|
|
|
priv.setState(state);
|
|
priv.setState(state);
|
|
|
|
|
|
|
|
if (typeof callback == "function") {
|
|
if (typeof callback == "function") {
|
|
@@ -2873,9 +2891,10 @@ var TableAjax = function() {
|
|
|
var oldState = _state; // TODO: use to check what really changed (use extend!)
|
|
var oldState = _state; // TODO: use to check what really changed (use extend!)
|
|
|
var renderParts = {};
|
|
var renderParts = {};
|
|
|
if (state.data) {
|
|
if (state.data) {
|
|
|
- if (state.data.cols && Object.keys(state.data.cols).length > 0) {// TODO: never happen, but if happend then rerender all
|
|
|
|
|
|
|
+ if (state.data.cols && Object.keys(state.data.cols).length > 0) {
|
|
|
priv.setStateCols(state.data.cols, state.data.primaryKey);
|
|
priv.setStateCols(state.data.cols, state.data.primaryKey);
|
|
|
priv.setStateData(state.data);
|
|
priv.setStateData(state.data);
|
|
|
|
|
+ renderParts['head'] = true;
|
|
|
} else {
|
|
} else {
|
|
|
priv.setStateData(state.data);
|
|
priv.setStateData(state.data);
|
|
|
}
|
|
}
|
|
@@ -2905,8 +2924,8 @@ var TableAjax = function() {
|
|
|
|
|
|
|
|
renderParts = Object.keys(renderParts);
|
|
renderParts = Object.keys(renderParts);
|
|
|
|
|
|
|
|
- if (priv.options.debug || DBG) console.log('setState::renderParts: ', renderParts);//TODO:DBG:RMME
|
|
|
|
|
if (renderParts.length > 0) {
|
|
if (renderParts.length > 0) {
|
|
|
|
|
+ DBG && console.log('DBG::trigger(TableAjax:render): ', renderParts);
|
|
|
jQuery(_uiNodeCont).trigger('TableAjax:render', renderParts);
|
|
jQuery(_uiNodeCont).trigger('TableAjax:render', renderParts);
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
@@ -3881,7 +3900,7 @@ var TableAjax = function() {
|
|
|
urlAdd += '&currSortFlip=' + (_state._currSortFlip ? "desc" : "asc");
|
|
urlAdd += '&currSortFlip=' + (_state._currSortFlip ? "desc" : "asc");
|
|
|
|
|
|
|
|
// TODO: compare with filterStore
|
|
// TODO: compare with filterStore
|
|
|
- DBG && console.warn('DBG:loadPage... FETCH_DATA', { '_state._filterQuery': _state._filterQuery, '_state._specialFilterQuery': _state._specialFilterQuery, _state });
|
|
|
|
|
|
|
+ DBG && console.log('DBG::loadPage... FETCH_DATA', { '_state._filterQuery': _state._filterQuery, '_state._specialFilterQuery': _state._specialFilterQuery, _state });
|
|
|
urlAdd += (_state._filterQuery) ? "&" + _state._filterQuery : "";
|
|
urlAdd += (_state._filterQuery) ? "&" + _state._filterQuery : "";
|
|
|
urlAdd += (_state._specialFilterQuery) ? "&" + _state._specialFilterQuery : "";
|
|
urlAdd += (_state._specialFilterQuery) ? "&" + _state._specialFilterQuery : "";
|
|
|
urlAdd += (_state._forceFilterQuery) ? "&" + _state._forceFilterQuery : "";
|
|
urlAdd += (_state._forceFilterQuery) ? "&" + _state._forceFilterQuery : "";
|
|
@@ -3906,6 +3925,7 @@ var TableAjax = function() {
|
|
|
state.page = data.page || 0;
|
|
state.page = data.page || 0;
|
|
|
state.pageSize = data.pageSize || priv.options.pageSize;
|
|
state.pageSize = data.pageSize || priv.options.pageSize;
|
|
|
state.filters = data.filters || {};
|
|
state.filters = data.filters || {};
|
|
|
|
|
+ DBG && console.log('DBG::loadPage... - FETCH_DATA END priv.setState(state);', { state });
|
|
|
priv.setState(state);
|
|
priv.setState(state);
|
|
|
_uiNode$Table.parent().parent().removeClass('AjaxTable-loading');
|
|
_uiNode$Table.parent().parent().removeClass('AjaxTable-loading');
|
|
|
} else {
|
|
} else {
|