{"version":3,"sources":["webpack:///./src/modules/comment/columns.js","webpack:///./src/modules/_defaults/columns.js"],"names":["columns","createColumn","label","field","relationField","props","config","params","validation","required","type","localKey","namespace","filterIs","component","inputTextField","req","is","concat","defaultColumns","dateSort","a","b","_a","Date","parse","_b","numberSort","parseInt","stringSort","toString","localeCompare","relationSortId","id","relationSortLength","length","booleanComponent","trueValue","falseValue","options","value","_ref","_ref$type","_ref$req","_ref$validation","_ref$money","money","_ref$max","max","_ref$min","min","numeric","between","email","maxlength","decimals","readonly","disable","_ref2","_ref2$props","_ref2$label","_ref2$type","_ref2$namespace","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/101ca164.2f668d48.js","sourcesContent":["import { createColumn, defaultColumns, inputTextField, relationField } from '../_defaults/columns'\r\n\r\nexport const columns = [\r\n // TODO: Change this to company so we have a name field to reference\r\n createColumn({\r\n label: 'Company',\r\n field: 'companyId',\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 type: 'one',\r\n localKey: 'companyId',\r\n namespace: 'company',\r\n filterIs: 'text-filter'\r\n })\r\n }),\r\n createColumn({\r\n label: 'Comment',\r\n field: 'commentText',\r\n component: inputTextField({ req: true, type: 'textarea' })\r\n }),\r\n createColumn({\r\n label: 'Last Update',\r\n field: 'lastUpdate',\r\n type: 'date',\r\n component: {\r\n is: 'q-datetime',\r\n props: {\r\n type: 'datetime'\r\n }\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":""}