{"version":3,"sources":["webpack:///./src/price.ts","webpack:///./src/route.ts","webpack:///./src/environment.ts","webpack:///./src/utils.ts","webpack:///./src/form.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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","file":"app~63defed8.9268cb396e89a4ee8a82.chunk.js","sourcesContent":["export class Price {\n\tprivate value: number = 0;\n\n\tstatic fromDollars(value?: Price|number|string): Price {\n\t\tif (value instanceof Price) return value;\n\t\tconst price = new Price();\n\t\tif (typeof value === 'string') value = parseFloat(value);\n\t\tprice.dollars = value;\n\t\treturn price;\n\t}\n\tstatic fromCents(value?: Price|number): Price {\n\t\tif (value instanceof Price) return value;\n\t\treturn new Price(value);\n\t}\n\n\tconstructor(value?: number|string) {\n\t\tif (!value) return;\n\t\tif (typeof value === 'number') {\n\t\t\tthis.cents = value;\n\t\t} else if (typeof value === 'string') {\n\t\t\tthis.dollars = parseFloat(value);\n\t\t}\n\t}\n\ttoString(): string {\n\t\treturn this.dollars.toFixed(2);\n\t}\n\tvalueOf(): number {\n\t\treturn this.cents;\n\t}\n\tset dollars(value: number) {\n\t\tif (typeof value !== 'number' || Number.isNaN(value)) throw new Error('Cannot assign non-numeric value to dollars');\n\t\tthis.cents = value * 100;\n\t}\n\tget dollars(): number {\n\t\treturn this.cents / 100;\n\t}\n\tset cents(value: number) {\n\t\tif (typeof value !== 'number' || Number.isNaN(value)) throw new Error('Cannot assign non-numeric value to cents');\n\t\tthis.value = value;\n\t}\n\tget cents(): number {\n\t\treturn Math.round(this.value);\n\t}\n\tget split(): string[] {\n\t\treturn this.toString().split('.');\n\t}\n}\n","import {RouteConfig} from \"aurelia-router\";\n\nexport class Route {\n\tpublic readonly name: string;\n\tpublic readonly route: string;\n\n\tconstructor(\n\t\tpublic readonly module: string,\n\t\tpublic readonly title: string,\n\t\tpublic readonly isVisible: boolean,\n\t\tpublic readonly isItem: boolean = false,\n\t\tpublic readonly baseRoute?: string,\n\t\tappendRoute?: string\n\t) {\n\t\tthis.name = this.module.replace('views/', '');\n\t\tif (this.baseRoute === undefined) this.baseRoute = this.name;\n\t\tthis.route = this.baseRoute;\n\t\tif (this.isItem) this.route += '/:id';\n\t\tif (appendRoute) this.route += appendRoute;\n\t}\n\n\tpublic get config(): RouteConfig {\n\t\treturn {\n\t\t\troute: this.route,\n\t\t\tname: this.name,\n\t\t\tmoduleId: this.module,\n\t\t\tnav: this.isVisible,\n\t\t\ttitle: this.title,\n\t\t\tsettings: {route: this}\n\t\t};\n\t}\n}\n","export default {\n\tdebug: true,\n\ttesting: true\n};\n","/**\n * Gets a property of on object by parsing a dot-notation path\n * @param {Object} object The object\n * @param {string|string[]} path The path of the property to retrieve\n * @returns {*} The property\n */\nexport function getProperty(object: Object, path: string|string[]): any {\n\treturn (typeof path === 'string' ? path.split('.') : path).reduce((parent, name) => parent && parent[name], object);\n}\n\n/**\n * Gets a subset of an object's properties\n * @param {Object} object The object\n * @param {...string[]} properties The properties to return\n * @returns {Object} A new object with the subset of properties\n */\nexport function getSubset(object: Object, ...properties: string[]): Object {\n\treturn Object.assign({}, ...properties.map((property) => ({[property]: object[property]})));\n}\n\n/**\n * Escapes a string for use in a regular expression\n * @param {String} str The string to escape\n * @returns {String} The escaped string\n */\nexport function escapeRegExp(str: string): string {\n\treturn str.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\");\n}\n\n/**\n * Encodes HTML entities. Pulled and modified from ngSanitize source code\n * @param {String} str The string to encode\n * @returns {String} Encoded string\n */\nexport function encodeEntities(str: string): string {\n\treturn str.\n\t\treplace(/&/g, '&amp;').\n\t\treplace(/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g, function(value) {\n\t\t\treturn '&#' + (((value.charCodeAt(0) - 0xD800) * 0x400) + (value.charCodeAt(1) - 0xDC00) + 0x10000) + ';';\n\t\t}).\n\t\treplace(/([^\\#-~ |!])/g, function (value) {\n\t\t\treturn '&#' + value.charCodeAt(0) + ';';\n\t\t}).\n\t\treplace(/</g, '&lt;').\n\t\treplace(/>/g, '&gt;');\n}\n\n/**\n * Capitalizes the first letter of a string, or the first letter of each word in a string\n * @param {string} str The original string\n * @param {boolean} [allWords=false] Whether to capitalize each word\n * @returns {string} The capitalized string\n */\nexport function capitalize(str: string, allWords: boolean = false): string {\n\tif (!allWords) return str.substring(0, 1).toUpperCase() + str.substring(1);\n\treturn str.replace(/(^|\\s)(\\w)/g, (match, space, letter) => space + letter.toUpperCase());\n}\n\n/**\n * Pads a number with zeros, out to the specified number of digits\n * @param {number} num The number to pad\n * @param {number} [digits=2] The minimum number of digits\n * @returns {string} The padded number\n */\nexport function padNumber(num: number, digits: number = 2): string {\n\tlet str = num.toString();\n\twhile (str.length < digits) str = '0' + str;\n\treturn str;\n}\n\n/**\n * Copies a string to the clipboard\n * @param {string} value The string to copy\n * @returns {void}\n */\nexport function copyValue(value: string): void {\n\tconst clipboard = (window as any).clipboardData;\n\tif (clipboard && clipboard.setData) return clipboard.setData(\"Text\", value);\n\tif (document.queryCommandSupported && document.queryCommandSupported(\"copy\")) {\n\t\tconst body = document.getElementsByTagName('body')[0];\n\t\tconst element = document.createElement('textarea');\n\t\telement.className = 'clipboard';\n\t\telement.value = value;\n\t\tbody.append(element);\n\t\telement.select();\n\t\tdocument.execCommand(\"copy\");\n\t\telement.remove();\n\t}\n}\n","import {WebService, WebServiceResponse} from \"webservice\";\nimport {DropdownConfig, DropdownOption, Dropdown} from \"elements/dropdown\";\nimport {UploadConfig, Upload, UploadData} from \"elements/upload\";\nimport {observable} from \"aurelia-binding\";\nimport {Price} from \"price\";\nimport {ItemEditorSaveResponse} from \"elements/itemeditor\";\nimport {RichText} from \"elements/richtext\";\nimport {ListEditor, ListEditorValue, ListEditorConfig} from \"elements/listeditor\";\nimport {DatePicker} from \"elements/datepicker\";\nimport {StaticItemTableConfig, StaticItemTable} from \"elements/itemtable/static\";\nimport {AddressData, Address} from \"elements/address\";\n\nexport class Form {\n\tprivate readonly defaultError: string = 'Please correct the errors in red below.';\n\tpublic readonly fields: Map<string, Field> = new Map();\n\tpublic method: 'get'|'post' = 'post';\n\tpublic error: string = '';\n\tpublic isValid: boolean = true;\n\tpublic isLoading: boolean = false;\n\tpublic onSuccess?: (data: WebServiceResponse) => any;\n\tpublic onError?: (error: Error|string) => any;\n\n\tconstructor(public readonly id: string, public readonly webService: string, fields?: Field[], public title?: string) {\n\t\tif (fields) this.addFields(fields);\n\t}\n\tpublic addFields(fields: Field[]): Form {\n\t\tfor (const field of fields) {\n\t\t\tfield.setForm(this);\n\t\t\tthis.fields.set(field.id, field);\n\t\t}\n\t\treturn this;\n\t}\n\tpublic validate(): boolean {\n\t\tthis.error = '';\n\t\tthis.isValid = true;\n\t\tthis.fields.forEach((field) => {\n\t\t\tif (!field.validate()) {\n\t\t\t\tthis.error = this.defaultError;\n\t\t\t\tthis.isValid = false;\n\t\t\t}\n\t\t});\n\t\treturn this.isValid;\n\t}\n\tpublic submit(): void {\n\t\tif (!this.validate()) return;\n\t\tWebService[this.method](this.webService, this.values).then((data) => {\n\t\t\tif (this.onSuccess) this.onSuccess(data);\n\t\t}, (e) => {\n\t\t\tthis.isValid = false;\n\t\t\tif (e instanceof Error) {\n\t\t\t\tthis.error = e.message;\n\t\t\t} else if (typeof e === 'string') {\n\t\t\t\tthis.error = e;\n\t\t\t} else if (e) {\n\t\t\t\tthis.error = this.defaultError;\n\t\t\t\tfor (const id in e) {\n\t\t\t\t\tif (this.fields.has(id)) this.fields.get(id).flag(e[id]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\tpublic get values(): {[index: string]: any} {\n\t\tconst values = {};\n\t\tthis.fields.forEach((field) => {\n\t\t\tvalues[field.id] = field.value;\n\t\t});\n\t\treturn values;\n\t}\n}\n\nexport abstract class Field {\n\tpublic abstract value: any;\n\tpublic containerElement: HTMLElement;\n\tpublic element: HTMLInputElement|HTMLSelectElement|HTMLTextAreaElement|HTMLDivElement;\n\tpublic form: Form;\n\tpublic htmlId: string;\n\tpublic isValid: boolean = true;\n\tpublic error: string = '';\n\tpublic isInEditor: boolean = false;\n\tpublic cssClass?: string;\n\tpublic watchChanges?: () => void;\n\n\tconstructor(\n\t\tpublic readonly tag: string,\n\t\tpublic readonly id: string,\n\t\tpublic label?: string,\n\t\tpublic readonly isRequired: boolean = false\n\t) {\n\t}\n\n\tpublic attached(): void {\n\t\tif (this.cssClass) this.containerElement.classList.add(...this.cssClass.split(' ').filter((item) => !!item));\n\t\tif (this.watchChanges) this.watchChanges();\n\t}\n\n\tpublic setForm(form: Form): void {\n\t\tthis.form = form;\n\t\tthis.htmlId = `field-${this.form.id}-${this.id}`;\n\t}\n\n\tpublic validate(): boolean {\n\t\tthis.flag(this.isRequired && !this.value && 'Required');\n\t\treturn this.isValid;\n\t}\n\n\tpublic flag(error?: string|false): void {\n\t\tthis.isValid = !error;\n\t\tthis.error = error || '';\n\t\tthis.containerElement.classList[this.isValid ? 'remove' : 'add']('error');\n\t}\n}\n\nexport abstract class CustomField extends Field {\n\tpublic onChange?(): void;\n}\n\n\nexport class StaticListItem {\n\tprivate href?: string;\n\tprivate callback?: () => void;\n\n\tconstructor(\n\t\tpublic value: string,\n\t\tpublic link?: string|(() => void),\n\t\tpublic linkTarget: string = '_blank'\n\t) {\n\t\tif (!link) return;\n\t\tif (typeof link === 'string') {\n\t\t\tthis.href = link;\n\t\t\tthis.callback = null;\n\t\t} else {\n\t\t\tthis.href = null;\n\t\t\tthis.callback = link;\n\t\t}\n\t}\n}\n\nexport class StaticField extends Field {\n\tpublic value: string|any[];\n\tpublic linkTarget: string = '_blank';\n\tpublic items: (StaticField|StaticListItem)[] = [this];\n\tprivate href?: string;\n\tprivate callback?: () => void;\n\tprivate _link?: string|(() => void);\n\n\tconstructor(id: string, label: string) {\n\t\tsuper('div', id, label, false);\n\t}\n\n\tpublic set link(link: string|(() => void)) {\n\t\tthis._link = link;\n\t\tif (typeof link === 'string') {\n\t\t\tthis.href = link;\n\t\t\tthis.callback = null;\n\t\t} else {\n\t\t\tthis.href = null;\n\t\t\tthis.callback = link;\n\t\t}\n\t}\n\n\tpublic get link(): string|(() => void) {\n\t\treturn this._link;\n\t}\n\n\tpublic validate(): boolean {\n\t\tthis.flag();\n\t\treturn true;\n\t}\n}\n\nexport class StaticAddressField extends Field {\n\tpublic value: AddressData|string;\n\tpublic address: Address;\n\n\tconstructor(id: string, label: string) {\n\t\tsuper('address', id, label, false);\n\t}\n\n\tpublic validate(): boolean {\n\t\tthis.flag();\n\t\treturn true;\n\t}\n}\n\nexport class StaticItemTableField extends CustomField {\n\t@observable public value: any;\n\tpublic table: StaticItemTable;\n\tpublic cssClass = 'static-table';\n\n\tconstructor(id: string, public readonly config: StaticItemTableConfig) {\n\t\tsuper('table', id, undefined, false);\n\t}\n\n\tpublic validate(): boolean {\n\t\tthis.flag();\n\t\treturn true;\n\t}\n\n\tprivate valueChanged(): void {\n\t\tif (this.onChange) this.onChange();\n\t}\n}\n\nabstract class TextField extends Field {\n\tpublic hasAutoFocus: boolean = false;\n\tpublic hasPlaceholder: boolean|string = false;\n\n\tpublic autoFocus(hasAutoFocus: boolean = true): TextField {\n\t\tthis.hasAutoFocus = hasAutoFocus;\n\t\treturn this;\n\t}\n\n\tpublic get placeholder(): string {\n\t\tif (!this.hasPlaceholder) return '';\n\t\tif (typeof this.hasPlaceholder === 'string') return this.hasPlaceholder;\n\t\treturn this.isRequired ? 'Required' : 'None';\n\t}\n}\n\nexport class InputField extends TextField {\n\t@observable public displayValue: string;\n\t@observable public value: string;\n\n\tconstructor(id: string, label: string, isRequired?: boolean, public readonly type: string = 'text') {\n\t\tsuper('input', id, label, isRequired);\n\t}\n\n\tprivate displayValueChanged(value: string): void {\n\t\tthis.value = value;\n\t}\n\n\tprivate valueChanged(value: string): void {\n\t\tthis.displayValue = value;\n\t}\n}\n\nexport class NumericInputField extends TextField {\n\t@observable public displayValue: string;\n\tpublic readonly type: string = 'tel';\n\n\tconstructor(id: string, label: string, isRequired?: boolean) {\n\t\tsuper('input', id, label, isRequired);\n\t}\n\n\tpublic validate(): boolean {\n\t\tif (super.validate() && this.value !== null && Number.isNaN(this.value)) {\n\t\t\tthis.flag('Invalid input');\n\t\t}\n\t\treturn this.isValid;\n\t}\n\n\tpublic get value(): number {\n\t\treturn this.displayValue ? parseFloat(this.displayValue) : null;\n\t}\n\tpublic set value(value: number) {\n\t\tthis.displayValue = typeof value === 'number' ? value.toString() : null;\n\t}\n}\n\nexport class TelInputField extends InputField {\n\tconstructor(id: string, label: string, isRequired?: boolean) {\n\t\tsuper(id, label, isRequired, 'tel');\n\t}\n\n\tpublic attached(): void {\n\t\tsuper.attached();\n\t\tthis.element.addEventListener('blur', (event: FocusEvent) => {\n\t\t\tthis.value = this.displayValue.replace(/[^\\d\\+ex]/g, '').replace(\n\t\t\t\t/^(?:\\+?1)?(\\d{3})(\\d{3})(\\d{4})(?:(?:ex|e|x)(\\d+))?$/i,\n\t\t\t\t(m, area, prefix, num, ext) => `(${area}) ${prefix}-${num}${ext ? ` x${ext}`: ''}`\n\t\t\t);\n\t\t});\n\t}\n}\n\nexport class EmailInputField extends InputField {\n\tconstructor(id: string, label: string, isRequired?: boolean) {\n\t\tsuper(id, label, isRequired, 'email');\n\t}\n\n\tpublic validate(): boolean {\n\t\tif (super.validate() && this.value) {\n\t\t\tthis.value = this.value.trim();\n\t\t\tthis.flag(!/^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(this.value) && 'Invalid email');\n\t\t}\n\t\treturn this.isValid;\n\t}\n}\n\nexport class TextAreaField extends TextField {\n\t@observable public value: string;\n\tpublic autoSize: boolean = true;\n\tprivate shadowContainer?: HTMLDivElement;\n\tprivate shadow?: HTMLTextAreaElement;\n\n\tconstructor(id: string, label: string, isRequired?: boolean) {\n\t\tsuper('textarea', id, label, isRequired);\n\t}\n\n\tpublic attached(): void {\n\t\tsuper.attached();\n\t\tif (this.autoSize) {\n\t\t\tthis.shadow = document.createElement('textarea');\n\t\t\tthis.shadow.disabled = true;\n\t\t\tthis.shadowContainer = document.createElement('div');\n\t\t\tthis.shadowContainer.className = 'autosize-shadow';\n\t\t\tthis.shadowContainer.append(this.shadow);\n\t\t\tthis.element.parentElement.prepend(this.shadowContainer);\n\t\t}\n\t\tsetTimeout(() => this.valueChanged(this.value), 0);\n\t}\n\n\tprivate valueChanged(value: string): void {\n\t\tif (!this.shadow) return;\n\t\tthis.shadow.value = value;\n\t\tthis.shadow.scrollTop = 999999;\n\t\tthis.element.style.height = (this.shadow.clientHeight + this.shadow.scrollTop) + 'px';\n\t}\n}\n\nexport class RichTextField extends TextField {\n\tpublic originalValue?: string;\n\tpublic richText?: RichText;\n\tpublic onChange?: () => void;\n\tpublic readonly cssClass: string = 'upload';\n\n\tconstructor(id: string, label: string, isRequired?: boolean) {\n\t\tsuper('richtext', id, label, isRequired);\n\t}\n\n\tpublic saved(response: ItemEditorSaveResponse): void {\n\t\tif (this.richText) this.richText.saved(response);\n\t}\n\n\tpublic get value(): string {\n\t\treturn this.richText && this.richText.value;\n\t}\n\n\tpublic set value(value: string) {\n\t\tthis.originalValue = value;\n\t\tif (this.richText) this.richText.value = value;\n\t}\n}\n\nexport class DateField extends TextField {\n\tpublic originalValue: string = null;\n\tpublic datePicker?: DatePicker;\n\tpublic onChange?: () => void;\n\n\tconstructor(id: string, label: string, isRequired?: boolean) {\n\t\tsuper('date', id, label, isRequired);\n\t}\n\n\tpublic get value(): string {\n\t\treturn this.datePicker && this.datePicker.value;\n\t}\n\n\tpublic set value(value: string) {\n\t\tthis.originalValue = value;\n\t\tif (this.datePicker) this.datePicker.value = value;\n\t}\n}\n\nexport class PriceField extends TextField {\n\t@observable public displayValue: string;\n\tpublic readonly type: string = 'text'\n\tpublic readonly cssClass: string = 'price';\n\tprivate price: Price = new Price();\n\n\tconstructor(id: string, label: string, isRequired?: boolean) {\n\t\tsuper('input', id, label, isRequired);\n\t}\n\n\tpublic attached(): void {\n\t\tsuper.attached();\n\t\tthis.element.addEventListener('blur', () => {\n\t\t\tthis.displayValue = this.price.toString();\n\t\t});\n\t}\n\n\tprivate displayValueChanged(value: string, originalValue: string): void {\n\t\tthis.price.dollars = value && parseFloat(value) || 0;\n\t}\n\n\tpublic get value(): number {\n\t\treturn this.price.cents;\n\t}\n\tpublic set value(value: number) {\n\t\tthis.price.cents = value || 0;\n\t\tthis.displayValue = this.price.toString();\n\t}\n}\n\nexport class BooleanField extends CustomField {\n\tpublic value: boolean;\n\n\tconstructor(id: string, label: string, defaultValue: boolean = false, private readonly invert: boolean = false) {\n\t\tsuper('switch', id, label);\n\t\tthis.value = defaultValue;\n\t}\n\n\tpublic toggle(): void {\n\t\tthis.value = !this.value;\n\t\tif (this.onChange) this.onChange();\n\t}\n\n\tprivate onKey({key}: KeyboardEvent): boolean {\n\t\tif (key !== 'Enter' && key !== ' ') return true;\n\t\tthis.toggle();\n\t}\n}\n\nexport class CustomActionField<T, DT = T> extends CustomField {\n\t@observable public value: T;\n\tpublic displayValue: DT;\n\n\tconstructor(tag: string, id: string, label: string, public readonly defaultValue: T, public readonly defaultDisplayValue: DT, private onClick: () => void) {\n\t\tsuper(tag, id, label);\n\t\tthis.value = defaultValue;\n\t\tthis.displayValue = defaultDisplayValue;\n\t}\n\n\tprivate valueChanged(): void {\n\t\tif (this.onChange) this.onChange();\n\t}\n}\n\nexport class AddressField extends CustomActionField<AddressData, AddressData|string> {\n\tpublic address: Address;\n}\n\nexport class DropdownField extends CustomField {\n\tprivate readonly config: DropdownConfig;\n\tprivate dropdown: Dropdown;\n\tprivate originalValue: string;\n\n\tconstructor(id: string, label: string, options: DropdownOption[], isRequired?: boolean, isSearchable: boolean = false) {\n\t\tsuper('dropdown', id, label, isRequired);\n\t\tthis.config = new DropdownConfig(options, {\n\t\t\tisSearchable: isSearchable,\n\t\t\tonChange: () => {\n\t\t\t\tif (this.onChange) this.onChange();\n\t\t\t},\n\t\t\tonCreate: (dropdown) => {\n\t\t\t\tthis.dropdown = dropdown;\n\t\t\t\tif (this.originalValue) this.dropdown.selectOptionData(this.originalValue);\n\t\t\t\tif (this.onChange) this.onChange();\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic get value(): string {\n\t\treturn this.dropdown && this.dropdown.selectedOption.data;\n\t}\n\n\tpublic set value(value: string) {\n\t\tthis.originalValue = value;\n\t\tif (this.dropdown) this.dropdown.selectOptionData(value);\n\t}\n}\n\nexport class ListEditorField extends CustomField {\n\tpublic readonly ListEditor: typeof ListEditor;\n\tpublic readonly cssClass = 'list-editor';\n\tpublic listEditor: ListEditor;\n\tpublic originalValue?: ListEditorValue;\n\n\tconstructor(\n\t\tid: string,\n\t\tlabel: string,\n\t\tpublic readonly webService: string,\n\t\tpublic readonly config: ListEditorConfig\n\t) {\n\t\tsuper('listeditor', id, label);\n\t}\n\n\tpublic saved(response: ItemEditorSaveResponse): void {\n\t\tif (this.listEditor) this.listEditor.saved(response);\n\t}\n\n\tpublic get value(): ListEditorValue {\n\t\treturn this.listEditor && this.listEditor.value;\n\t}\n\n\tpublic set value(value: ListEditorValue) {\n\t\tthis.originalValue = value;\n\t\tif (this.listEditor) this.listEditor.value = value;\n\t}\n}\n\nexport class UploadField extends CustomField {\n\tprivate upload: Upload;\n\tprivate originalImage: string;\n\tpublic readonly originalValue: undefined = undefined;\n\tpublic readonly config: UploadConfig;\n\tpublic readonly cssClass: string = 'upload';\n\n\tconstructor(id: string, label: string, params?: any, thumbSize: number = 300) {\n\t\tsuper('upload', id, label);\n\t\tthis.config = {\n\t\t\tparams: params,\n\t\t\tthumbSize: thumbSize,\n\t\t\tonChange: () => {\n\t\t\t\tif (this.onChange) this.onChange();\n\t\t\t},\n\t\t\tonCreate: (upload: Upload) => {\n\t\t\t\tupload.field = this;\n\t\t\t\tthis.upload = upload;\n\t\t\t\tif (this.originalImage) this.upload.image = this.originalImage;\n\t\t\t}\n\t\t};\n\t}\n\n\tpublic updateConfig(config: UploadConfig) {\n\t\tObject.assign(this.config, config);\n\t}\n\n\tpublic reset(): void {\n\t\tif (this.upload) this.upload.reset();\n\t}\n\n\tpublic saved(response: ItemEditorSaveResponse): void {\n\t\tif (this.upload) this.upload.saved(response);\n\t}\n\n\tpublic get value(): UploadData {\n\t\treturn this.upload && this.upload.value;\n\t}\n\n\tpublic set value(value: UploadData) {\n\t\tif (this.upload) this.upload.value = value;\n\t}\n\n\tpublic set image(value: string) {\n\t\tthis.originalImage = value;\n\t\tif (this.upload) {\n\t\t\tthis.upload.image = this.originalImage;\n\t\t}\n\t}\n\n\tpublic get image(): string {\n\t\treturn this.upload && this.upload.image;\n\t}\n}\n","/// <reference types=\"aurelia-loader-webpack/src/webpack-hot-interface\"/>\nimport {Aurelia, ViewLocator, Origin} from 'aurelia-framework'\nimport environment from './environment';\nimport {PLATFORM} from 'aurelia-pal';\nimport {AppConfig} from 'appconfig';\nimport 'app';\n\nexport function configure(aurelia: Aurelia) {\n\t\taurelia.use\n\t\t\t.standardConfiguration()\n\t\t//\t.feature(PLATFORM.moduleName('resources/index'))\n\n\t\t// Uncomment the line below to enable animation.\n\t\t// aurelia.use.plugin(PLATFORM.moduleName('aurelia-animator-css'));\n\t\t// if the css animator is enabled, add swap-order=\"after\" to all router-view elements\n\n\t\t// Anyone wanting to use HTMLImports to load views, will need to install the following plugin.\n\t\t// aurelia.use.plugin(PLATFORM.moduleName('aurelia-html-import-template-loader'));\n\n\t\tViewLocator.prototype.convertOriginToViewUrl = ({moduleId}: Origin): string => /^elements\\/\\w+$/.test(moduleId) ? `${moduleId}/index.html` : `${moduleId}.html`;\n\n\t\tif (environment.debug) {\n\t\t\taurelia.use.developmentLogging();\n\t\t}\n\n\t\tif (environment.testing) {\n\t\t\taurelia.use.plugin(PLATFORM.moduleName('aurelia-testing'));\n\t\t}\n\n\tAppConfig.load().then(() => {\n\t\taurelia.start().then(() => aurelia.setRoot(PLATFORM.moduleName('app')));\n\t});\n}\n"],"sourceRoot":""}