bitfront-library
Version:
Angular CLI project with components and classes used by other Angular projects of the BIT foundation.
100 lines • 4.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeToolbarSubList = exports.createBaseSubListAdapter = exports.BaseSubListAdapter = void 0;
var entity_1 = require("@ngrx/entity");
var global_constants_1 = require("../../shared/global.constants");
var BaseSubListAdapter = /** @class */ (function () {
function BaseSubListAdapter(args) {
this.adapter = entity_1.createEntityAdapter(args);
}
BaseSubListAdapter.prototype.getInitialState = function (makeItem, optional) {
var initialState = Object.assign({
toolbar: makeToolbarSubList(false),
modeInnerForm: global_constants_1.FormType.Insert,
itemSelected: makeItem(),
displayInnerForm: false,
itemsSelected: []
}, optional);
return this.adapter.getInitialState(initialState);
};
BaseSubListAdapter.prototype.handleLoadSucces = function (payload, state) {
return this.adapter.addMany(payload, state);
};
BaseSubListAdapter.prototype.handleCloseForm = function (state) {
var displayInnerForm = false;
return Object.assign({}, state, {
displayInnerForm: displayInnerForm
});
};
BaseSubListAdapter.prototype.handleShowForm = function (payload, formType, state) {
var displayInnerForm = true;
var modeInnerForm = formType;
var itemSelected = payload;
return Object.assign({}, state, {
displayInnerForm: displayInnerForm,
modeInnerForm: modeInnerForm,
itemSelected: itemSelected
});
};
BaseSubListAdapter.prototype.handleItemsSelected = function (payload, state) {
var toolbar;
if (payload && payload.length > 0) {
toolbar = makeToolbarSubList(true);
}
else {
toolbar = makeToolbarSubList(false);
}
var itemsSelected = payload;
return Object.assign({}, state, {
toolbar: toolbar,
itemsSelected: itemsSelected
});
};
BaseSubListAdapter.prototype.handleSaveItem = function (payload, state) {
var displayInnerForm = false;
var newState = this.adapter.upsertOne(payload, state);
return Object.assign({}, newState, {
displayInnerForm: displayInnerForm
});
};
BaseSubListAdapter.prototype.handleDeleteItems = function (payload, state) {
var displayInnerForm = false;
var toolbar = makeToolbarSubList(false);
var itemsSelected = [];
var newState = this.adapter.removeMany(payload, state);
return Object.assign({}, newState, {
displayInnerForm: displayInnerForm,
toolbar: toolbar,
itemsSelected: itemsSelected
});
};
BaseSubListAdapter.prototype.getEntityAdapter = function () {
return this.adapter;
};
BaseSubListAdapter.prototype.getEntityAdapterSelectors = function () {
return this.adapter.getSelectors();
};
BaseSubListAdapter.prototype.getSelectors = function () {
return {
getToolbar: function (state) { return state.toolbar; },
getModelInnerForm: function (state) { return state.modeInnerForm; },
getItemSelected: function (state) { return state.itemSelected; },
getDisplayInnerForm: function (state) { return state.displayInnerForm; },
getItemsSelected: function (state) { return state.itemsSelected; }
};
};
return BaseSubListAdapter;
}());
exports.BaseSubListAdapter = BaseSubListAdapter;
function createBaseSubListAdapter() {
return new BaseSubListAdapter();
}
exports.createBaseSubListAdapter = createBaseSubListAdapter;
function makeToolbarSubList(enableDelete) {
return {
new: { enable: true, visible: true },
delete: { enable: enableDelete, visible: enableDelete }
};
}
exports.makeToolbarSubList = makeToolbarSubList;
//# sourceMappingURL=base-sublist.models.js.map