{"version":3,"sources":["webpack:///./src/modules/contract/index.js","webpack:///./src/modules/_defaults/mutations.js","webpack:///./src/modules/contract/columns.js","webpack:///./src/modules/_defaults/columns.js","webpack:///./src/modules/_defaults/getters.js","webpack:///./src/modules/_defaults/state.js"],"names":["apiEndpoint","namespace","clientRoute","dependencies","params","include","titleColumn","subtitleColumn","undefined","infoColumns","state","defaultSort","columns","__webpack_exports__","namespaced","createState","Object","assign","getters","createGetters","mutations","createMutations","actions","createActions","arguments","length","SET_FILTER","_ref","field","value","Vue","set","settings","filters","SET_FILTER_LETTER","_ref2","letter","letters","SET_COLUMN_FILTER","_ref3","SET_QUICK_EDIT","payload","CLEAR_COLUMN_FILTER","FILTERS_CLEAR","defaultSettings","SET_LAYOUT","SET_PAGINATION","SET_TOTAL_RESULTS","pagination","SET_VISIBLE_COLUMNS","HIDE_COLUMN","column","visibleColumns","SET_SEARCH","SORT","_ref4","direction","SETTINGS","_ref5","SET_SETTING","_ref6","SAVE_SETTINGS","SETTINGS_RESET","LAYOUT","FETCH_ALL","data","EXCEL_DOWN","url","EXCEL_DOWN_PRETTY","GUEST_DATA","option","UNAPPROVED_DATA","API_INSERT","id","recordIndex","records","findIndex","record","push","API_DESTROY","index","r","splice","API_UPDATE","_ref7","updates","__webpack_require__","d","_defaults_columns__WEBPACK_IMPORTED_MODULE_0__","createColumn","label","visible","filterable","searchable","component","isTitle","inputTextField","req","max","section","type","money","description","defaultValue","booleanComponent","concat","defaultColumns","dateSort","a","b","_a","Date","parse","_b","numberSort","parseInt","stringSort","toString","localeCompare","relationSortId","relationSortLength","is","filterIs","props","trueValue","falseValue","options","_ref$type","_ref$req","_ref$validation","validation","_ref$money","_ref$max","_ref$min","min","required","numeric","between","email","maxlength","decimals","readonly","disable","relationField","_ref2$props","_ref2$label","_ref2$type","_ref2$namespace","localKey","fk","_ref2$componentIs","componentIs","_ref2$filterIs","_ref2$validation","_ref2$parentRestraint","parentRestraint","_ref2$requiresParentS","requiresParentSave","_ref2$saveBeforeAndAf","saveBeforeAndAfter","_ref2$linkTable","linkTable","_ref2$linkTableModel","linkTableModel","_ref2$fieldType","fieldType","_ref2$directSearch","directSearch","_ref2$searchColumns","searchColumns","_ref2$orderBy","orderBy","_ref2$filterable","_ref2$searchable","_ref2$sortable","sortable","sort","relation","fileField","_ref3$req","_ref3$multiple","multiple","_ref3$label","mediaCollection","_ref3$extensions","extensions","_ref3$visible","_ref3$description","extend","name","align","media","sendRaw","method","headers","additionalFields","inputRequired","editorComponent","toolbarFlat","toolbarOutline","color","toolbar","icon","list","fixedLabel","fixedIcon","defaultColumn","roles","searchType","displayValue","noSave","hasOwnProperty","states","require","stateOptions","keys","map","key","addressFields","_ref4$req","filter","autofocusFilter","editActionColumn","deleteActionColumn","defaultGetters","find","relatedId","parentResource","relations","c","selectedRows","selected","filterColumns","layout","columnsByField","reduce","obj","_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default","col","search","countTotal","defaultPagination","sortBy","descending","page","rowsPerPage","rowsNumber","runTime","groupedByField","model","normalizeModel","gt","azOpen","defaultState","quickEditId","idList","defaultFilter","loading","excelExport","fakeColumns","filterKeys","Array","isArray","unshift","columnLength","shvl"],"mappings":"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","file":"js/1401157e.d9115448.js","sourcesContent":["import { columns } from './columns'\r\nimport createState from '../_defaults/state'\r\nimport createGetters from '../_defaults/getters'\r\nimport createMutations from '../_defaults/mutations'\r\nimport createActions from '../_defaults/actions'\r\n\r\n/* -------- CONFIG ----------- */\r\nexport const apiEndpoint = '/api/contract'\r\nexport const namespace = 'contract'\r\nexport const clientRoute = '/contract'\r\nexport const dependencies = []\r\nexport const params = {\r\n include: ''\r\n}\r\n/* --------------------------- */\r\n\r\n/* -------- LABELS ----------- */\r\nconst titleColumn = 'name'\r\nconst subtitleColumn = undefined\r\nconst infoColumns = []\r\n/* --------------------------- */\r\n\r\nconst state = {\r\n defaultSort: 'sortOrder',\r\n columns,\r\n apiEndpoint,\r\n namespace,\r\n dependencies,\r\n clientRoute,\r\n params,\r\n titleColumn,\r\n subtitleColumn,\r\n infoColumns\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state: createState(Object.assign(state, { namespace })),\r\n getters: createGetters(),\r\n mutations: createMutations(),\r\n actions: createActions()\r\n}\r\n","import { defaultSettings } from './state.js'\r\nimport Vue from 'vue'\r\n// const { filters } = defaultSettings\r\n\r\nconst createMutations = (mutations = {}) =>\r\n Object.assign(\r\n {},\r\n {\r\n SET_FILTER (state, { field, value }) {\r\n Vue.set(state.settings.filters, field, value)\r\n },\r\n SET_FILTER_LETTER (state, { letter, value }) {\r\n Vue.set(state.settings.filters.letters, letter, value)\r\n /*\r\n let selectedLetters = state.invoiceAddress.filters.letters\r\n if (!value && selectedLetters[letter]) {\r\n // console.log('> remove letter', letter)\r\n delete selectedLetters[letter]\r\n state.invoiceAddress.filters = Object.assign({}, state.invoiceAddress.filters)\r\n } else {\r\n state.invoiceAddress.filters.letters = Object.assign({}, state.invoiceAddress.filters.letters, {\r\n [letter]: true\r\n })\r\n }\r\n */\r\n },\r\n SET_COLUMN_FILTER (state, { field, value }) {\r\n Vue.set(state.settings.filters.columns, field, value)\r\n },\r\n SET_QUICK_EDIT (state, payload) {\r\n Vue.set(state, 'quickEditId', payload)\r\n },\r\n CLEAR_COLUMN_FILTER (state, field) {\r\n Vue.set(state.settings.filters.columns, field, null)\r\n },\r\n FILTERS_CLEAR (state) {\r\n Vue.set(state, 'settings', Object.assign({}, defaultSettings))\r\n },\r\n SET_LAYOUT (state, payload) {\r\n Vue.set(state.settings, 'layout', payload)\r\n },\r\n SET_PAGINATION (state, payload) {\r\n Vue.set(state.settings, 'pagination', payload)\r\n },\r\n SET_TOTAL_RESULTS (state, payload) {\r\n Vue.set(state.settings.pagination, 'rowsNumber', payload)\r\n },\r\n SET_VISIBLE_COLUMNS (state, payload) {\r\n Vue.set(state.settings, 'visibleColumns', payload)\r\n },\r\n HIDE_COLUMN (state, column) {\r\n if (state.settings.visibleColumns[column]) {\r\n Vue.set(state.settings.visibleColumns, column, false)\r\n }\r\n },\r\n SET_SEARCH (state, value) {\r\n Vue.set(state.settings.filters, 'search', value)\r\n },\r\n SORT (state, { field, direction }) {\r\n Vue.set(state.settings, 'sortField', field)\r\n Vue.set(state.settings, 'sortDirection', direction)\r\n /*\r\n state.invoiceAddress = Object.assign({}, state.invoiceAddress, {\r\n sortField: field,\r\n sortDirection: direction\r\n })\r\n */\r\n },\r\n SETTINGS (state, { field, value }) {\r\n Vue.set(state.settings, field, value)\r\n },\r\n SET_SETTING (state, { field, value }) {\r\n Vue.set(state.settings, field, value)\r\n },\r\n SAVE_SETTINGS (state, payload) {\r\n Vue.set(state, 'settings', payload)\r\n },\r\n SETTINGS_RESET (state) {\r\n Vue.set(state, 'settings', defaultSettings)\r\n },\r\n LAYOUT (state, value) {\r\n Vue.set(state.settings, 'layout', value)\r\n },\r\n FETCH_ALL (state, data) {\r\n Vue.set(state, 'records', data)\r\n },\r\n EXCEL_DOWN (state, url) {\r\n Vue.set(state, 'excelUrl', url)\r\n },\r\n EXCEL_DOWN_PRETTY (state, url) {\r\n Vue.set(state, 'excelPrettyUrl', url)\r\n },\r\n GUEST_DATA (state, option) {\r\n Vue.set(state, 'guestData', option)\r\n },\r\n UNAPPROVED_DATA (state, option) {\r\n Vue.set(state, 'unapprovedData', option)\r\n },\r\n API_INSERT (state, data) {\r\n const { id } = data\r\n if (id) {\r\n const recordIndex = state.records.findIndex(record => record.id === id)\r\n if (recordIndex === -1) {\r\n state.records.push(data)\r\n } else {\r\n Vue.set(state.records, recordIndex, data)\r\n }\r\n } else {\r\n state.records.push(data)\r\n }\r\n },\r\n API_DESTROY (state, id) {\r\n const index = state.records.findIndex(r => r.id === id)\r\n if (index !== -1) {\r\n state.records.splice(index, 1)\r\n }\r\n },\r\n API_UPDATE (state, { id, updates }) {\r\n const index = state.records.findIndex(r => r.id === id)\r\n Vue.set(state.records, index, updates)\r\n }\r\n },\r\n mutations\r\n )\r\n\r\nexport default createMutations\r\n","import {booleanComponent, createColumn, defaultColumns, inputTextField} from '../_defaults/columns'\r\n\r\nexport const columns = [\r\n // TODO: Needs to be a file upload that saves the file in to the database.\r\n createColumn({\r\n label: 'File',\r\n field: 'fileKey',\r\n visible: false,\r\n filterable: false,\r\n searchable: false,\r\n component: null\r\n // component: inputTextField({ req: true, max: 255 })\r\n }),\r\n createColumn({\r\n label: 'Name',\r\n isTitle: true,\r\n field: 'name',\r\n component: inputTextField({ req: true, max: 255 })\r\n }),\r\n createColumn({\r\n label: 'Description',\r\n field: 'description',\r\n visible: false,\r\n filterable: false,\r\n searchable: false,\r\n component: null\r\n // component: inputTextField({ req: false, type: 'textarea', max: 255 })\r\n }),\r\n createColumn({\r\n label: 'Non-Member Price',\r\n field: 'nonMemberPrice',\r\n section: 'Pricing',\r\n type: 'number',\r\n component: inputTextField({req: true, type: 'number', money: true})\r\n }),\r\n createColumn({\r\n label: 'Member Price',\r\n field: 'memberPrice',\r\n section: 'Pricing',\r\n type: 'number',\r\n component: inputTextField({req: true, type: 'number', money: true}),\r\n description: '0 = Free'\r\n }),\r\n createColumn({\r\n label: 'Bundle',\r\n field: 'isBundle',\r\n type: 'boolean',\r\n description: 'Contract is a bundle of all other contracts',\r\n defaultValue: false,\r\n component: booleanComponent\r\n }),\r\n createColumn({\r\n label: 'Sort Order',\r\n field: 'sortOrder',\r\n type: 'number',\r\n defaultValue: '0',\r\n component: inputTextField({ req: true, type: 'number' }),\r\n description: 'Numeric value that indicates from top to bottom the order of Contracts. Lower numbers on top.'\r\n }),\r\n createColumn({\r\n label: 'Contract is Active',\r\n field: 'active',\r\n type: 'boolean',\r\n description: 'Contract is listed and available to be purchased',\r\n defaultValue: true,\r\n component: booleanComponent\r\n })\r\n].concat(defaultColumns)\r\n","import { extend } from 'quasar'\r\n// const uuidv4 = require('uuid/v4')\r\n\r\nexport const dateSort = (a, b) => {\r\n let _a = Date.parse(a)\r\n let _b = Date.parse(b)\r\n return _a - _b\r\n}\r\n// export const guid = uuidv4()\r\nexport const numberSort = (a, b) => parseInt(a, 10) - parseInt(b, 10)\r\nexport const stringSort = (a, b) => a.toString().localeCompare(b.toString())\r\nexport const relationSortId = (a, b) => numberSort(a.id, b.id)\r\nexport const relationSortLength = (a, b) => numberSort(a.length, b.length)\r\nexport const booleanComponent = {\r\n // is: 'q-select',\r\n // is: 'q-checkbox',\r\n is: 'q-toggle',\r\n filterIs: 'select-filter',\r\n props: {\r\n trueValue: true,\r\n falseValue: false,\r\n // color: 'primary',\r\n options: [\r\n {\r\n label: 'Yes',\r\n value: true\r\n },\r\n {\r\n label: 'No',\r\n value: false\r\n }\r\n ]\r\n }\r\n}\r\nexport const inputTextField = ({ type = 'text', req = false, validation = null, money = false, max = null, min = null }) => {\r\n if (!validation) {\r\n validation = {}\r\n if (req) {\r\n validation.required = true\r\n }\r\n if (type === 'string') {\r\n validation.min = 1\r\n }\r\n if (type === 'number' && !money) {\r\n validation.numeric = true\r\n if (max && min) {\r\n validation.between = [min, max]\r\n }\r\n }\r\n if (type === 'email') {\r\n validation.email = true\r\n }\r\n }\r\n return {\r\n is: 'q-input',\r\n props: {\r\n type: type,\r\n maxlength: max || 500,\r\n decimals: money ? 2 : null,\r\n readonly: false,\r\n disable: false\r\n },\r\n validation: validation\r\n }\r\n}\r\n/**\r\n * @param props\r\n * @param type\r\n * @param label\r\n * @param namespace\r\n * @param localKey\r\n * @param fk\r\n * @param componentIs\r\n * @param filterIs\r\n * @param validation\r\n * @param parentRestraint\r\n * @param saveBeforeAndAfter\r\n * @returns {{sort: boolean, sortable: boolean, component: {is: (*|string), filterIs: string, props, validation}, relation: {type: string, label: string, namespace: string, localKey: *, fk: *, nested: *, subtitle: *, parentRestraint: boolean, saveBeforeAndAfter: boolean}}}\r\n */\r\nexport const relationField = ({\r\n props = {},\r\n label = 'label',\r\n type = 'one',\r\n namespace = 'self',\r\n localKey,\r\n fk,\r\n componentIs = null,\r\n filterIs = 'text-filter',\r\n validation = {},\r\n parentRestraint = false,\r\n requiresParentSave = false,\r\n saveBeforeAndAfter = false,\r\n linkTable = false,\r\n linkTableModel = null,\r\n fieldType = 'text',\r\n directSearch = false,\r\n searchColumns = false,\r\n orderBy = false,\r\n filterable = true,\r\n searchable = true,\r\n sortable = true\r\n}) => {\r\n const component = type === 'one' ? 'relation-field-one' : 'relation-field-many'\r\n return {\r\n filterable: filterable,\r\n searchable: searchable,\r\n sort: sortable && type === 'one',\r\n sortable: sortable && type === 'one',\r\n component: {\r\n is: componentIs || component,\r\n filterIs,\r\n props,\r\n validation\r\n },\r\n relation: {\r\n label: label || 'label',\r\n type: type || 'one',\r\n namespace: namespace || 'self',\r\n localKey: localKey,\r\n fk: fk,\r\n fieldType: fieldType,\r\n directSearch,\r\n parentRestraint,\r\n requiresParentSave,\r\n saveBeforeAndAfter,\r\n linkTable,\r\n linkTableModel,\r\n searchColumns,\r\n orderBy\r\n }\r\n }\r\n}\r\n\r\nexport const fileField = ({ req = false, multiple = false, field, label = 'File', mediaCollection, extensions = '.pdf,.xls,.xlsx,.doc,.docx', visible = true, description = '' }) =>\r\n extend(\r\n true,\r\n {},\r\n {\r\n label: label,\r\n field: field,\r\n name: field,\r\n section: 'Files',\r\n sort: false,\r\n sortable: false,\r\n filterable: false,\r\n visible: visible,\r\n searchable: false,\r\n align: 'left',\r\n type: 'file',\r\n description,\r\n component: {\r\n is: 'file-upload-field',\r\n media: mediaCollection,\r\n validation: {\r\n required: req\r\n },\r\n props: {\r\n extensions,\r\n sendRaw: false,\r\n name: 'file',\r\n method: 'POST',\r\n multiple,\r\n headers: {},\r\n additionalFields: [\r\n {\r\n name: 'media',\r\n value: mediaCollection\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n )\r\n\r\nexport const inputRequired = {\r\n is: 'q-input',\r\n props: {},\r\n validation: {\r\n required: true\r\n }\r\n}\r\nexport const editorComponent = {\r\n is: 'q-editor',\r\n filterIs: 'text-filter',\r\n props: {\r\n toolbarFlat: true,\r\n toolbarOutline: false,\r\n color: 'grey-9',\r\n toolbar: [\r\n ['bold', 'italic', 'strike', 'underline'],\r\n ['token', 'hr', 'link'],\r\n [\r\n {\r\n label: 'Headline',\r\n icon: 'title',\r\n list: 'no-icons',\r\n options: ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'code']\r\n },\r\n {\r\n label: 'Font Size',\r\n icon: 'format_size',\r\n fixedLabel: true,\r\n fixedIcon: true,\r\n list: 'no-icons',\r\n options: ['size-1', 'size-2', 'size-3', 'size-4', 'size-5', 'size-6', 'size-7']\r\n },\r\n 'removeFormat'\r\n ]\r\n ]\r\n }\r\n}\r\nexport const defaultColumn = {\r\n name: '',\r\n field: 'label',\r\n label: '',\r\n visible: true,\r\n searchable: true,\r\n filterable: true,\r\n roles: [],\r\n type: 'string',\r\n searchType: null,\r\n icon: null,\r\n sortable: true,\r\n displayValue: undefined,\r\n noSave: false,\r\n component: {\r\n is: 'q-input',\r\n props: {},\r\n validation: {}\r\n },\r\n align: 'left'\r\n}\r\nexport const createColumn = options =>\r\n extend(\r\n true,\r\n {},\r\n defaultColumn,\r\n {\r\n name: options.field,\r\n label: options.label || options.field || 'no label',\r\n section: 'General',\r\n description: '',\r\n filterable: options.hasOwnProperty('filterable') ? options.filterable : options.hasOwnProperty('searchable') ? options.searchable : defaultColumn.filterable,\r\n sort: options.type === 'number' ? numberSort : null\r\n },\r\n options\r\n )\r\nexport const defaultColumns = [\r\n createColumn({\r\n label: 'ID',\r\n field: 'id',\r\n visible: false,\r\n searchable: true,\r\n type: 'number',\r\n sortable: true,\r\n filterable: true,\r\n component: null\r\n }),\r\n createColumn({\r\n label: 'Date Deleted',\r\n field: 'removalDate',\r\n type: 'date',\r\n section: 'Data Info',\r\n visible: false,\r\n searchable: true,\r\n filterable: true,\r\n sortable: true,\r\n defaultValue: null,\r\n component: null\r\n /*\r\n component: {\r\n is: 'q-datetime',\r\n props: {\r\n type: 'datetime',\r\n disable: true\r\n }\r\n }\r\n */\r\n })\r\n // createColumn({\r\n // label: 'Updated',\r\n // field: 'updatedAt',\r\n // visible: false,\r\n // searchable: false,\r\n // type: 'string',\r\n // sortable: true,\r\n // component: null\r\n // }),\r\n // createColumn({\r\n // label: 'Created',\r\n // field: 'createdAt',\r\n // visible: false,\r\n // searchable: false,\r\n // type: 'string',\r\n // sortable: true,\r\n // component: null\r\n // })\r\n /*\r\n createColumn({\r\n label: 'Edit',\r\n field: 'action_edit',\r\n visible: true,\r\n searchable: false,\r\n filterable: false,\r\n align: 'left',\r\n type: 'action-edit',\r\n sortable: false,\r\n component: null\r\n })\r\n */\r\n]\r\n\r\nconst states = require('../../json/states.json')\r\n\r\nexport const stateOptions = Object.keys(states).map(key => {\r\n return {\r\n label: states[key],\r\n value: key\r\n }\r\n})\r\n\r\nexport const addressFields = ({ req = false }) => [\r\n createColumn({\r\n label: 'Address',\r\n field: 'address',\r\n section: 'Address',\r\n visible: false,\r\n sortable: true,\r\n component: inputTextField({ req: req })\r\n }),\r\n createColumn({\r\n label: 'City',\r\n field: 'city',\r\n section: 'Address',\r\n visible: false,\r\n sortable: true,\r\n component: inputTextField({ req: req })\r\n }),\r\n createColumn({\r\n label: 'State',\r\n field: 'state',\r\n section: 'Address',\r\n visible: true,\r\n sortable: true,\r\n component: {\r\n is: 'q-select',\r\n filterIs: 'select-filter',\r\n validation: { required: req },\r\n props: {\r\n options: stateOptions,\r\n filter: true,\r\n autofocusFilter: true\r\n }\r\n }\r\n }),\r\n createColumn({\r\n label: 'Zip',\r\n field: 'zip',\r\n section: 'Address',\r\n visible: false,\r\n sortable: true,\r\n component: inputTextField({ req: req })\r\n })\r\n]\r\n\r\nexport const editActionColumn = createColumn({\r\n label: 'Edit',\r\n field: 'action_edit',\r\n visible: true,\r\n searchable: false,\r\n filterable: false,\r\n align: 'left',\r\n type: 'action',\r\n sortable: false,\r\n component: null\r\n})\r\n\r\nexport const deleteActionColumn = createColumn({\r\n label: 'Delete',\r\n field: 'action_delete',\r\n visible: true,\r\n searchable: false,\r\n filterable: false,\r\n align: 'right',\r\n type: 'action',\r\n sortable: false,\r\n component: null\r\n})\r\n","import { normalizeModel } from '../../utils/normalize'\r\nimport { extend } from 'quasar'\r\n\r\nconst defaultGetters = {\r\n list: state => (state.records && state.records.length ? state.records : []),\r\n find: (state, getters) => id => getters.list.find(r => r.id === id),\r\n namespace: state => state.namespace,\r\n apiEndpoint: state => relatedId => {\r\n if (relatedId && state.parentResource) {\r\n return `${state.parentResource}/${relatedId}${state.apiEndpoint}`\r\n }\r\n return state.apiEndpoint\r\n },\r\n relations: (state, getters) => getters.columns.filter(c => c.relation && c.relation.namespace && c.relation.namespace !== state.namespace) || [],\r\n settings: state => state.settings,\r\n selectedRows: (state, getters) => getters.settings.selected,\r\n filters: (state, getters) => getters.settings.filters,\r\n filterColumns: (state, getters) => getters.filters.columns,\r\n layout: state => state.settings.layout,\r\n columns: state => state.columns,\r\n columnsByField: state => state.columns.reduce((obj, column) => Object.assign(obj, { [column.field]: column }), {}),\r\n column: (state, getters) => field => getters.columnsByField[field],\r\n defaultColumns: (state, getters) => {\r\n return getters.columns.filter(col => (col.visible || col.required) && (col !== null && col !== undefined && col.field) && (col.component && col.component.is) && col.field !== 'action')\r\n },\r\n visibleColumns: (state, getters) => {\r\n if (getters.settings.visibleColumns.length) {\r\n return getters.settings.visibleColumns.map(c => getters.column(c)).filter(c => c !== null && c !== undefined && c.field)\r\n }\r\n return getters.columns.filter(col => (col.visible || col.required) && (col !== null && col !== undefined && col.field))\r\n },\r\n titleColumn: (state, getters) => (state.titleColumn ? getters.columnsByField[state.titleColumn] : state.columns[0]),\r\n subtitleColumn: (state, getters) => (state.subtitleColumn ? getters.columnsByField[state.subtitleColumn] : undefined),\r\n infoColumns: (state, getters) => (state.infoColumns.length ? state.infoColumns.map(field => getters.columnsByField[field]) : []),\r\n search: (state, getters) => getters.filters.search || [],\r\n countTotal: state => state.records.length || 0,\r\n pagination: (state, getters) => {\r\n const defaultPagination = {\r\n sortBy: null,\r\n descending: false,\r\n page: 1,\r\n rowsPerPage: 25,\r\n rowsNumber: 25\r\n }\r\n const runTime = {\r\n rowsNumber: getters.countTotal\r\n }\r\n return extend(true, {}, defaultPagination, state.settings.pagination, runTime)\r\n },\r\n groupedByField: (state, getters) => getters.settings.groupedByField,\r\n // parentFakeColumns: (state, getters, rootState) => (state.parentResource && rootState[state.parentResource] ? rootState[state.parentResource].fakeColumns : []),\r\n // parentColumns: (state, getters, rootState, rootGetters) => (state.parentResource ? rootGetters[state.parentResource] : []),\r\n // model: (state, getters) => normalizeModel(getters.columns, {}, getters.parentFakeColumns)\r\n model: (state, getters) => normalizeModel(getters.columns, {}, state)\r\n}\r\n\r\nexport default gt => {\r\n return extend(true, {}, defaultGetters, gt)\r\n}\r\n","import { extend } from 'quasar'\r\nimport * as shvl from 'shvl'\r\n\r\nimport { deleteActionColumn, editActionColumn } from '../_defaults/columns'\r\n\r\nexport const defaultSettings = {\r\n groupedByField: 'id',\r\n parentResource: null,\r\n visibleColumns: [],\r\n selected: [],\r\n layout: 'table',\r\n azOpen: false,\r\n filters: {\r\n letters: {},\r\n search: '',\r\n columns: {}\r\n },\r\n pagination: {\r\n sortBy: null,\r\n descending: false,\r\n page: 1,\r\n rowsPerPage: 25,\r\n rowsNumber: 25\r\n }\r\n}\r\n\r\nexport const defaultState = {\r\n records: [],\r\n quickEditId: null,\r\n idList: [],\r\n defaultSort: null,\r\n defaultFilter: null,\r\n apiEndpoint: '/',\r\n namespace: '',\r\n clientRoute: '/',\r\n columns: [],\r\n settings: extend(true, {}, defaultSettings),\r\n loading: false,\r\n params: {},\r\n excelExport: {},\r\n titleColumn: undefined,\r\n subtitleColumn: undefined,\r\n fakeColumns: undefined,\r\n infoColumns: []\r\n}\r\n\r\nconst createState = state => {\r\n let filterKeys = {}\r\n let visibleColumns = {}\r\n if (state.columns && Array.isArray(state.columns)) {\r\n if (state.columns[0].name !== 'action_edit') {\r\n state.columns.unshift(editActionColumn)\r\n }\r\n const columnLength = state.columns.length\r\n if (state.columns[columnLength - 1].name !== 'action_delete') {\r\n state.columns.push(deleteActionColumn)\r\n }\r\n // -- assign filter keys\r\n filterKeys = state.columns.reduce((obj, column) => {\r\n obj[column.field] = shvl.get(state, `settings.filters.columns[${column.field}]`, null)\r\n return obj\r\n }, {})\r\n // -- assign visible columns\r\n visibleColumns = state.columns.filter(col => col.visible || col.required).map(c => c.field)\r\n }\r\n return extend(true, {}, defaultState, state, {\r\n settings: {\r\n filters: {\r\n columns: filterKeys\r\n },\r\n visibleColumns: visibleColumns\r\n }\r\n })\r\n}\r\n\r\nexport default createState\r\n"],"sourceRoot":""}