{"version":3,"sources":["webpack:///./src/modules/membership/index.js","webpack:///./src/modules/_defaults/mutations.js","webpack:///./src/modules/_defaults/columns.js","webpack:///./src/modules/_defaults/getters.js","webpack:///./src/modules/_defaults/state.js","webpack:///./src/modules/membership/columns.js"],"names":["apiEndpoint","namespace","clientRoute","dependencies","params","include","sort","titleColumn","subtitleColumn","infoColumns","state","columns","__webpack_exports__","namespaced","createState","Object","assign","getters","createGetters","mutations","createMutations","actions","createActions","arguments","length","undefined","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","dateSort","a","b","_a","Date","parse","_b","numberSort","parseInt","stringSort","toString","localeCompare","relationSortId","relationSortLength","booleanComponent","is","filterIs","props","trueValue","falseValue","options","label","inputTextField","_ref$type","type","_ref$req","req","_ref$validation","validation","_ref$money","money","_ref$max","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","filterable","_ref2$searchable","searchable","_ref2$sortable","sortable","component","relation","fileField","_ref3$req","_ref3$multiple","multiple","_ref3$label","mediaCollection","_ref3$extensions","extensions","_ref3$visible","visible","_ref3$description","description","extend","name","section","align","media","sendRaw","method","headers","additionalFields","inputRequired","editorComponent","toolbarFlat","toolbarOutline","color","toolbar","icon","list","fixedLabel","fixedIcon","defaultColumn","roles","searchType","displayValue","noSave","createColumn","hasOwnProperty","defaultColumns","defaultValue","states","require","stateOptions","keys","map","key","addressFields","_ref4$req","filter","autofocusFilter","editActionColumn","deleteActionColumn","defaultGetters","find","relatedId","parentResource","concat","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","defaultSort","defaultFilter","loading","excelExport","fakeColumns","filterKeys","Array","isArray","unshift","columnLength","shvl","allowEdit","addButton","row","returnVal","membershipPeriod","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","next","done","mp","registrationDate","trim","dateFormat","dropDate","expiryDate","err","return","showSearch","showBrowse","config"],"mappings":"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","file":"js/7faaa463.744622d8.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/membership'\r\nexport const namespace = 'membership'\r\nexport const clientRoute = '/membership'\r\nexport const dependencies = ['membershipType', 'membershipPeriod']\r\nexport const params = {\r\n include: 'MembershipType,MembershipPeriod',\r\n sort: ''\r\n}\r\n/* --------------------------- */\r\n\r\n/* -------- LABELS ----------- */\r\nconst titleColumn = 'membershipType'\r\nconst subtitleColumn = 'membershipPeriod'\r\nconst infoColumns = ['yearJoined', 'isActive']\r\n/* --------------------------- */\r\n\r\nconst state = {\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 { 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","import { createColumn, defaultColumns, inputTextField, relationField, booleanComponent } from '../_defaults/columns'\r\nimport { dateFormat } from '../../plugins/filters'\r\n\r\nexport const columns = [\r\n createColumn({\r\n label: 'Membership Type',\r\n field: 'membershipType',\r\n section: 'Data Relations',\r\n // description: 'Listing of all users who have access to modify this school'\r\n // displayValue: row => row.membershipType.description,\r\n // deepDisplay: row => row.description,\r\n ...relationField({\r\n validation: {\r\n required: true\r\n },\r\n type: 'one',\r\n localKey: 'membershipTypeId',\r\n fk: 'id',\r\n namespace: 'membershipType',\r\n // filterIs: 'text-filter',\r\n filterIs: 'select-one-field',\r\n // label: 'description'\r\n props: { allowEdit: false, addButton: false }\r\n })\r\n }),\r\n createColumn({\r\n label: 'Membership Period',\r\n field: 'membershipPeriod',\r\n section: 'Data Relations',\r\n // displayValue: 'membershipPeriod.notes',\r\n // displayValue: 'membershipType.description',\r\n displayValue: row => {\r\n let returnVal = ''\r\n if (row.membershipPeriod) {\r\n for (let mp of row.membershipPeriod) {\r\n returnVal = ''\r\n if (mp.registrationDate && mp.registrationDate.trim()) {\r\n returnVal = `(${dateFormat(mp.registrationDate, 'MMM DD YYYY')} - `\r\n }\r\n if (mp.dropDate && mp.dropDate.trim()) {\r\n returnVal = returnVal + `${dateFormat(mp.dropDate, 'MMM DD YYYY')})`\r\n } else {\r\n returnVal = returnVal + 'Now)'\r\n }\r\n if (mp.expiryDate && mp.expiryDate.trim()) {\r\n returnVal = returnVal + ` Expires: ${dateFormat(mp.expiryDate, 'MMM DD YYYY')}`\r\n }\r\n // returnVal += `(${dateFormat(mp.registrationDate, 'MMM DD YYYY')} - ${dateFormat(mp.dropDate, 'MMM DD YYYY')}) `\r\n }\r\n return returnVal\r\n }\r\n },\r\n // deepDisplay: row => `(${dateFormat(row.registrationDate, 'MMM DD YYYY')} - ${dateFormat(row.dropDate, 'MMM DD YYYY')}) `,\r\n // deepDisplay: row => {\r\n // let returnVal = ''\r\n // if (row.membershipPeriod) {\r\n // for (let mp of row.membershipPeriod) {\r\n // returnVal = ''\r\n // if (mp.registrationDate && mp.registrationDate.trim()) {\r\n // returnVal = `(${dateFormat(mp.registrationDate, 'MMM DD YYYY')} - `\r\n // }\r\n // if (mp.dropDate && mp.dropDate.trim()) {\r\n // returnVal = returnVal + `${dateFormat(mp.dropDate, 'MMM DD YYYY')})`\r\n // } else {\r\n // returnVal = returnVal + 'Now)'\r\n // }\r\n // if (mp.expiryDate && mp.expiryDate.trim()) {\r\n // returnVal = returnVal + ` Expires: ${dateFormat(mp.expiryDate, 'MMM DD YYYY')}`\r\n // }\r\n // // returnVal += `(${dateFormat(mp.registrationDate, 'MMM DD YYYY')} - ${dateFormat(mp.dropDate, 'MMM DD YYYY')}) `\r\n // }\r\n // return returnVal\r\n // }\r\n // },\r\n ...relationField({\r\n type: 'many',\r\n fk: 'membershipId',\r\n localKey: 'id',\r\n namespace: 'membershipPeriod',\r\n parentRestraint: true,\r\n // label: 'registrationDate',\r\n // label: row => `(${dateFormat(row.registrationDate, 'MMM DD YYYY')} - ${dateFormat(row.dropDate, 'MMM DD YYYY')}) `,\r\n props: {\r\n showSearch: false,\r\n showBrowse: false,\r\n // filter: {\r\n // path: 'membershipId',\r\n // value: context => context.parentId\r\n // },\r\n config: {\r\n params: {}\r\n }\r\n }\r\n })\r\n }),\r\n createColumn({\r\n label: 'Year Joined',\r\n field: 'yearJoined',\r\n section: 'General Info',\r\n type: 'number',\r\n component: inputTextField({\r\n req: false,\r\n type: 'number',\r\n validation: {\r\n numeric: true,\r\n between: [1900, 3000]\r\n }\r\n })\r\n }),\r\n createColumn({\r\n label: 'Active',\r\n field: 'isActive',\r\n section: 'Status',\r\n defaultValue: 1,\r\n // description: 'School is allowed to order on weekends',\r\n type: 'boolean',\r\n // visible: false,\r\n component: booleanComponent\r\n }),\r\n createColumn({\r\n label: 'GUID',\r\n field: 'guidId',\r\n type: 'text',\r\n section: 'Data Info',\r\n filterable: false,\r\n visible: false,\r\n searchable: false,\r\n // defaultValue: guid,\r\n component: null\r\n // component: {\r\n // req: true,\r\n // props: {\r\n // type: 'text',\r\n // disable: true\r\n // }\r\n // }\r\n }),\r\n createColumn({\r\n label: 'Approved',\r\n field: 'approved',\r\n section: 'Status',\r\n // description: 'School is allowed to order on weekends',\r\n defaultValue: 1,\r\n type: 'boolean',\r\n filterable: false,\r\n visible: false,\r\n // component: null\r\n component: booleanComponent\r\n }),\r\n createColumn({\r\n label: 'Date Approved',\r\n field: 'dateApproved',\r\n type: 'date',\r\n section: 'Status',\r\n filterable: false,\r\n visible: false,\r\n // component: null\r\n defaultValue: null,\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 // createColumn({\r\n // label: 'Company',\r\n // field: 'company',\r\n // section: 'Data Relations',\r\n // // description: 'Listing of all users who have access to modify this school'\r\n // ...relationField({\r\n // props: {\r\n // config: {\r\n // params: {}\r\n // }\r\n // },\r\n // validation: {\r\n // required: true\r\n // },\r\n // isTitle: true,\r\n // type: 'one',\r\n // localKey: 'companyId',\r\n // fk: 'id',\r\n // namespace: 'company',\r\n // filterIs: 'text-filter',\r\n // label: 'name'\r\n // })\r\n // }),\r\n // createColumn({\r\n // label: 'Person',\r\n // field: 'person',\r\n // section: 'Data Relations',\r\n // // description: 'Listing of all users who have access to modify this school'\r\n // ...relationField({\r\n // props: {\r\n // config: {\r\n // params: {}\r\n // }\r\n // },\r\n // type: 'one',\r\n // localKey: 'personId',\r\n // fk: 'id',\r\n // namespace: 'person',\r\n // filterIs: 'text-filter',\r\n // label: 'lastName'\r\n // })\r\n // }),\r\n // createColumn({\r\n // label: 'Suspended',\r\n // field: 'isSuspended',\r\n // section: 'Status',\r\n // // description: 'School is allowed to order on weekends',\r\n // type: 'boolean',\r\n // // visible: false,\r\n // component: booleanComponent\r\n // }),\r\n // createColumn({\r\n // label: 'Year Joined',\r\n // field: 'yearJoined',\r\n // type: 'number',\r\n // section: 'Data Info',\r\n // component: {\r\n // req: true,\r\n // props: {\r\n // type: 'number',\r\n // maxlength: 4\r\n // // disable: true\r\n // },\r\n // validation: {\r\n // numeric: true,\r\n // between: [1900, 3000]\r\n // }\r\n // }\r\n // }),\r\n // createColumn({\r\n // label: 'Year Joined',\r\n // field: 'yearJoined',\r\n // type: 'number',\r\n // // visible: true,\r\n // // sortable: true,\r\n // section: 'General Info',\r\n // component: {\r\n // is: 'q-select',\r\n // filterIs: 'select-filter',\r\n // props: {\r\n // options: yearOptions.slice(0)\r\n // },\r\n // validation: {\r\n // between: [1900, 3000],\r\n // required: false\r\n // }\r\n // }\r\n // }),\r\n].concat(defaultColumns)\r\n"],"sourceRoot":""}