{"version":3,"sources":["webpack:///./src/modules/eventDiscount/columns.js","webpack:///./src/modules/_defaults/columns.js"],"names":["columns","createColumn","label","field","component","inputTextField","type","req","max","section","sort","numberSort","money","description","defaultValue","displayValue","row","startDate","dateFormat","is","props","format24h","format","value","clearable","okLabel","modal","validation","required","expirationDate","relationField","namespace","filterIs","concat","defaultColumns","dateSort","a","b","_a","Date","parse","_b","parseInt","stringSort","toString","localeCompare","relationSortId","id","relationSortLength","length","booleanComponent","trueValue","falseValue","options","_ref","_ref$type","_ref$req","_ref$validation","_ref$money","_ref$max","_ref$min","min","numeric","between","email","maxlength","decimals","readonly","disable","_ref2","_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","relation","fileField","_ref3","_ref3$req","_ref3$multiple","multiple","_ref3$label","mediaCollection","_ref3$extensions","extensions","_ref3$visible","visible","_ref3$description","extend","name","align","media","sendRaw","method","headers","additionalFields","inputRequired","editorComponent","toolbarFlat","toolbarOutline","color","toolbar","icon","list","fixedLabel","fixedIcon","defaultColumn","roles","searchType","undefined","noSave","hasOwnProperty","states","require","stateOptions","Object","keys","map","key","addressFields","_ref4","_ref4$req","filter","autofocusFilter","editActionColumn","deleteActionColumn"],"mappings":"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","file":"js/7961cb4f.f498f9e5.js","sourcesContent":["import { createColumn, defaultColumns, inputTextField, numberSort, relationField } from '../_defaults/columns'\r\nimport { dateFormat } from '../../plugins/filters'\r\n\r\nexport const columns = [\r\n createColumn({\r\n label: 'Description',\r\n field: 'description',\r\n component: inputTextField({ type: 'textarea', req: false, max: 8192 })\r\n }),\r\n createColumn({\r\n label: 'Percent Discounted',\r\n field: 'percent',\r\n section: 'Discount',\r\n type: 'number',\r\n sort: numberSort,\r\n component: inputTextField({ req: false, type: 'number', money: true })\r\n }),\r\n createColumn({\r\n label: 'Exact Value Discounted',\r\n field: 'value',\r\n section: 'Discount',\r\n type: 'number',\r\n sort: numberSort,\r\n component: inputTextField({ req: false, type: 'number', money: true })\r\n }),\r\n createColumn({\r\n label: 'Code',\r\n field: 'code',\r\n section: 'Options',\r\n description: 'Leave blank if you want any and all to receive the discount.',\r\n component: inputTextField({ req: false })\r\n }),\r\n createColumn({\r\n label: 'Maximum Uses',\r\n field: 'maxNumberOfUsers',\r\n section: 'Options',\r\n type: 'number',\r\n sort: numberSort,\r\n description: 'Leave value of 0 for unlimited.',\r\n defaultValue: 0,\r\n component: inputTextField({ req: false, type: 'number' })\r\n }),\r\n createColumn({\r\n label: 'Start Date',\r\n field: 'startDate',\r\n section: 'Availability',\r\n type: 'date',\r\n description: 'Pick a date when this discount can be used.',\r\n displayValue: row => {\r\n return row.startDate ? dateFormat(row.startDate, 'MMM DD YYYY - h:mm a') : 'N/A'\r\n },\r\n component: {\r\n is: 'q-datetime',\r\n props: {\r\n type: 'datetime',\r\n format24h: false,\r\n format: 'MMM DD YYYY h:mm a',\r\n defaultValue: null,\r\n value: null,\r\n clearable: true,\r\n okLabel: 'Set Start',\r\n modal: true\r\n // dark: true\r\n },\r\n validation: {\r\n required: false\r\n }\r\n }\r\n }),\r\n createColumn({\r\n label: 'Expiration Date',\r\n field: 'expirationDate',\r\n section: 'Availability',\r\n type: 'date',\r\n description: 'Pick a date when this discount is no longer available.',\r\n displayValue: row => {\r\n return row.expirationDate ? dateFormat(row.expirationDate, 'MMM DD YYYY - h:mm a') : 'N/A'\r\n },\r\n component: {\r\n is: 'q-datetime',\r\n props: {\r\n type: 'datetime',\r\n format24h: false,\r\n format: 'MMM DD YYYY h:mm a',\r\n defaultValue: null,\r\n value: null,\r\n clearable: true,\r\n okLabel: 'Set Expiration',\r\n modal: true\r\n // dark: true\r\n },\r\n validation: {\r\n required: false\r\n }\r\n }\r\n }),\r\n createColumn({\r\n label: 'Event',\r\n field: 'event',\r\n ...relationField({\r\n type: 'one',\r\n namespace: 'event',\r\n filterIs: 'text-filter'\r\n })\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":""}