{"version":3,"sources":["webpack:///./src/modules/productService/columns.js","webpack:///./src/modules/_defaults/columns.js"],"names":["__webpack_require__","r","__webpack_exports__","d","columns","_defaults_columns__WEBPACK_IMPORTED_MODULE_0__","createColumn","label","field","component","inputTextField","req","max","concat","defaultColumns","dateSort","a","b","_a","Date","parse","_b","numberSort","parseInt","stringSort","toString","localeCompare","relationSortId","id","relationSortLength","length","booleanComponent","is","filterIs","props","trueValue","falseValue","options","value","_ref","_ref$type","type","_ref$req","_ref$validation","validation","_ref$money","money","_ref$max","_ref$min","min","required","numeric","between","email","maxlength","decimals","readonly","disable","relationField","_ref2","_ref2$props","_ref2$label","_ref2$type","_ref2$namespace","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","sort","relation","fileField","_ref3","_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","undefined","noSave","hasOwnProperty","defaultValue","states","require","stateOptions","Object","keys","map","key","addressFields","_ref4","_ref4$req","filter","autofocusFilter","editActionColumn","deleteActionColumn"],"mappings":"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","file":"js/0a3f2a10.b8a7de51.js","sourcesContent":["import { createColumn, defaultColumns, inputTextField } from '../_defaults/columns'\r\n\r\nexport const columns = [\r\n createColumn({\r\n label: 'Name',\r\n field: 'name',\r\n component: inputTextField({ req: true, max: 255 })\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"],"sourceRoot":""}