{"version":3,"file":"Serenity.Pro.UI.js","sourceRoot":"","sources":["../UI/Integration/ReactDOM.ts","../UI/Integration/Q.React.ts","../UI/Integration/WidgetComponentFactory.ts","../UI/EditorRefs.tsx","../UI/Forms/Label.tsx","../UI/Forms/ValidationMark.tsx","../UI/Forms/Field.tsx","../UI/Forms/PropertyField.tsx","../UI/Forms/CategoryTitle.tsx","../UI/Forms/CategoryLineBreak.tsx","../UI/Forms/CategoryLink.tsx","../UI/Forms/CategoryLinks.tsx","../UI/Forms/Category.tsx","../UI/Forms/Categories.tsx","../UI/Forms/ValidateForm.tsx","../UI/Forms/Form.tsx","../UI/Forms/PropertyTabs.tsx","../UI/Forms/PropertyGrid.tsx","../UI/ButtonPanel.tsx","../UI/Toolbar/Toolbar.tsx","../UI/Toolbar/CommonButtons.tsx","../UI/Forms/FormMode.tsx","../UI/Forms/FormDataModel.tsx","../UI/Forms/FormDataSource.tsx","../UI/Forms/FormView.tsx","../UI/Forms/Dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["declare namespace ReactDOM {\n export function findDOMNode(instance: React.ReactInstance): Element;\n export function unmountComponentAtNode(container: Element): boolean;\n\n export function createPortal(children: React.ReactNode, container: Element): React.ReactPortal;\n\n export const version: string;\n export const render: Renderer;\n export const hydrate: Renderer;\n\n export function unstable_batchedUpdates(callback: (a: A, b: B) => any, a: A, b: B): void;\n export function unstable_batchedUpdates(callback: (a: A) => any, a: A): void;\n export function unstable_batchedUpdates(callback: () => any): void;\n\n export function unstable_renderSubtreeIntoContainer(\n parentComponent: React.Component,\n element: React.DOMElement, T>,\n container: Element,\n callback?: (element: T) => any): T;\n export function unstable_renderSubtreeIntoContainer>(\n parentComponent: React.Component,\n element: React.CElement,\n container: Element,\n callback?: (component: T) => any): T;\n export function unstable_renderSubtreeIntoContainer

(\n parentComponent: React.Component,\n element: React.ReactElement

,\n container: Element,\n callback?: (component?: React.Component | Element) => any): React.Component | Element | void;\n\n export interface Renderer {\n // Deprecated(render): The return value is deprecated.\n // In future releases the render function's return type will be void.\n\n (\n element: React.DOMElement, T>,\n container: Element | null,\n callback?: () => void\n ): T;\n\n (\n element: Array, any>>,\n container: Element | null,\n callback?: () => void\n ): Element;\n\n (\n element: React.SFCElement | Array>,\n container: Element | null,\n callback?: () => void\n ): void;\n\n >(\n element: React.CElement,\n container: Element | null,\n callback?: () => void\n ): T;\n\n (\n element: Array>>,\n container: Element | null,\n callback?: () => void\n ): React.Component;\n\n

(\n element: React.ReactElement

,\n container: Element | null,\n callback?: () => void\n ): React.Component | Element | void;\n\n (\n element: Array>,\n container: Element | null,\n callback?: () => void\n ): React.Component | Element | void;\n\n (\n parentComponent: React.Component | Array>,\n element: React.SFCElement,\n container: Element,\n callback?: () => void\n ): void;\n }\n}","namespace Q {\r\n export function extend(obj: any, props: any) {\r\n for (let i in props)\r\n obj[i] = props[i];\r\n\r\n return obj;\r\n }\r\n\r\n var uniqueId = 0;\r\n\r\n export function uidGenerator(): () => (() => string) {\r\n var prefix = \"uid_\" + (++uniqueId) + \"_\";\r\n return function () {\r\n var counter = 0;\r\n return function () {\r\n return prefix + (++counter);\r\n }\r\n }\r\n }\r\n\r\n var hasOwn = {}.hasOwnProperty;\r\n\r\n export function cssClass(...args: any[]): string {\r\n var classes = [];\r\n \r\n for (var i = 0; i < arguments.length; i++) {\r\n var arg = arguments[i];\r\n if (!arg) continue;\r\n\r\n var argType = typeof arg;\r\n\r\n if (argType === 'string' || argType === 'number') {\r\n classes.push(arg);\r\n } else if (Array.isArray(arg) && arg.length) {\r\n var inner = cssClass.apply(null, arg);\r\n if (inner) {\r\n classes.push(inner);\r\n }\r\n } else if (argType === 'object') {\r\n for (var key in arg) {\r\n if (hasOwn.call(arg, key) && arg[key]) {\r\n classes.push(key);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return classes.join(' ');\r\n }\r\n}","namespace Q {\r\n function widgetComponentFactory(widgetType: any) {\r\n\r\n return (function (_super) {\r\n __extends(Wrapper, _super);\r\n\r\n function Wrapper() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n\r\n Wrapper.prototype.render = function () {\r\n return React.createElement(\"div\", {\r\n ref: ((el: any) => this.wrapper = el),\r\n className: 'widget-wrapper'\r\n });\r\n };\r\n\r\n Wrapper.prototype.componentWillReceiveProps = function (nextProps: Serenity.WidgetComponentProps) {\r\n var props: Serenity.WidgetComponentProps = this.props;\r\n\r\n var widget = this.widget;\r\n if (widget == null || widget.element == null)\r\n return;\r\n\r\n var $node = widget.element;\r\n var node = $node[0];\r\n\r\n if (nextProps.id !== props.id) {\r\n node.id = nextProps.id;\r\n }\r\n\r\n if (nextProps.name !== props.name && $node.is(':input')) {\r\n (node as any).name = nextProps.name;\r\n }\r\n\r\n if (nextProps.placeholder !== props.placeholder && $node.is(':input')) {\r\n (node as any).placeholder = nextProps.placeholder;\r\n }\r\n\r\n if (nextProps.className !== props.className) {\r\n $node.removeClass(props.className || '').addClass(nextProps.className);\r\n }\r\n\r\n if (nextProps.oneWay !== props.oneWay) {\r\n node.dataset.oneWay = nextProps.oneWay ? \"1\" : undefined;\r\n }\r\n\r\n if (nextProps.maxLength != props.maxLength)\r\n node.setAttribute(\"maxLength\", nextProps.maxLength || 0);\r\n\r\n if (nextProps.required !== props.required)\r\n Serenity.EditorUtils.setRequired(this.widget, nextProps.required);\r\n\r\n if (props.readOnly !== props.readOnly)\r\n Serenity.EditorUtils.setReadOnly(this.widget, nextProps.readOnly);\r\n\r\n if (nextProps.setOptions != props.setOptions) {\r\n Serenity.ReflectionOptionsSetter.set(this.widget, nextProps.setOptions);\r\n }\r\n\r\n if (nextProps.value !== props.value) {\r\n Serenity.EditorUtils.setValue(this.widget, nextProps.value);\r\n }\r\n\r\n if (nextProps.onChange !== props.onChange) {\r\n this.widget.element.off('.wcf');\r\n if (nextProps.onChange)\r\n this.widget.element.on('change.wcf', nextProps.onChange);\r\n }\r\n\r\n if (nextProps.onChangeSelect2 !== props.onChangeSelect2) {\r\n this.widget.element.off('.wcf2');\r\n if (nextProps.onChangeSelect2) {\r\n this.widget.element.on('change.wcf2', (e: any, x: any) => {\r\n if (!!(Serenity.WX.hasOriginalEvent(e) || !x)) {\r\n this.props.onChangeSelect2 && this.props.onChangeSelect2(e);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n Wrapper.prototype.componentDidMount = function () {\r\n\r\n if (this.widget != null)\r\n return;\r\n\r\n var $node = Serenity.Widget.elementFor(widgetType);\r\n var node = $node[0];\r\n this.wrapper.appendChild(node);\r\n\r\n var props: Serenity.WidgetComponentProps = this.props;\r\n\r\n if (props.id != null)\r\n node.id = props.id;\r\n\r\n if ($node.is(':input')) {\r\n $node.addClass(\"editor\");\r\n if (props.name != null)\r\n (node as any).name = props.name;\r\n\r\n if (props.placeholder != null)\r\n (node as any).placeholder = props.placeholder;\r\n }\r\n\r\n if (props.className != null)\r\n $node.addClass(props.className);\r\n\r\n if (props.oneWay)\r\n node.dataset.oneWay = \"1\";\r\n\r\n this.widget = new (widgetType as any)($node, props);\r\n\r\n if (props.maxLength != null)\r\n node.setAttribute(\"maxLength\", props.maxLength.toString());\r\n\r\n if (props.required)\r\n Serenity.EditorUtils.setRequired(this.widget, true);\r\n\r\n if (props.readOnly)\r\n Serenity.EditorUtils.setReadOnly(this.widget, true);\r\n\r\n if (props.setOptions != null) {\r\n Serenity.ReflectionOptionsSetter.set(this.widget, props.setOptions);\r\n }\r\n\r\n if (props.value !== undefined)\r\n Serenity.EditorUtils.setValue(this.widget, props.value);\r\n else if (props.defaultValue !== undefined)\r\n Serenity.EditorUtils.setValue(this.widget, props.defaultValue);\r\n\r\n if (props.onChange != null)\r\n this.widget.element.on('change.wcf', props.onChange);\r\n\r\n if (props.onChangeSelect2 != null) {\r\n this.widget.element.on('change.wcf2', (e: any, x: any) => {\r\n if (!!(Serenity.WX.hasOriginalEvent(e) || !x)) {\r\n props.onChangeSelect2 && props.onChangeSelect2(e);\r\n }\r\n });\r\n }\r\n }\r\n\r\n Wrapper.prototype.componentWillUnmount = function () {\r\n this.widget && this.widget.destroy();\r\n this.widget = null;\r\n };\r\n\r\n Wrapper.prototype.shouldComponentUpdate = function () {\r\n return false;\r\n };\r\n\r\n Wrapper.prototype.isWidgetWrapper = true;\r\n\r\n (Wrapper as any).displayName = \"Wrapped<\" + (ss as any).getTypeFullName(widgetType) + \">\";\r\n\r\n return Wrapper;\r\n }(React.Component));\r\n }\r\n\r\n var reactCreateElement = React.createElement;\r\n (React as any).createElement = function () {\r\n var arg = arguments[0];\r\n if (typeof arg === \"function\" && arg.__isWidgetType === true) {\r\n if (arg.__componentFactory === undefined)\r\n arguments[0] = arg.__componentFactory = widgetComponentFactory(arg);\r\n else\r\n arguments[0] = arg.__componentFactory;\r\n\r\n if (arguments.length > 1 && arguments[1] && arguments[1].ref) {\r\n var ref = arguments[1].ref;\r\n arguments[1].ref = function (wrapper: any) {\r\n if (wrapper == null)\r\n ref(null);\r\n else\r\n ref(wrapper.widget);\r\n }\r\n }\r\n }\r\n\r\n\r\n return reactCreateElement.apply(this, arguments);\r\n };\r\n}","namespace Serenity.UI {\r\n\r\n export class EditorRefs {\r\n\r\n private setters: Q.Dictionary<(ref: any) => void> = Object.create(null);\r\n private refs: Q.Dictionary = Object.create(null);\r\n\r\n constructor(private inner?: (name: string, ref: any) => void) {\r\n this.set = this.set.bind(this);\r\n this.setter = this.setter.bind(this);\r\n }\r\n\r\n get(name: string) {\r\n return this.refs[name];\r\n }\r\n\r\n set(name: string, ref: any) {\r\n this.refs[name] = ref;\r\n if (this.inner != null)\r\n this.inner(name, ref);\r\n }\r\n\r\n setter(name: string): ((ref: any) => void) {\r\n var func = this.setters[name];\r\n if (func != null)\r\n return func;\r\n\r\n var setRef = this.set;\r\n func = (function (ref: any) {\r\n setRef(name, ref);\r\n });\r\n\r\n this.setters[name] = func;\r\n return func;\r\n }\r\n\r\n loadFrom(source: any, names?: string[]) {\r\n\r\n names = Q.coalesce(names, Object.keys(this.refs));\r\n\r\n for (var name of names) {\r\n var editor = this.refs[name];\r\n if (editor == null)\r\n continue;\r\n\r\n if (editor.isWidgetWrapper) {\r\n editor = editor.widget;\r\n if (editor)\r\n Serenity.EditorUtils.loadValue(editor, { name: name }, source);\r\n }\r\n else if (editor.nodeType) {\r\n source[name] = editor.value;\r\n }\r\n else if (editor.element) {\r\n Serenity.EditorUtils.loadValue(editor, { name: name }, source);\r\n }\r\n }\r\n }\r\n\r\n saveTo(target: any, names?: string[], ignoreOneWay?: boolean) {\r\n\r\n names = Q.coalesce(names, Object.keys(this.refs));\r\n\r\n for (var name of names) {\r\n var editor = this.refs[name];\r\n if (editor.isWidgetWrapper) {\r\n if (ignoreOneWay || !editor.props.oneWay) {\r\n editor = editor.widget;\r\n if (editor)\r\n Serenity.EditorUtils.saveValue(editor, { name: name }, target);\r\n }\r\n }\r\n else if (editor.nodeType) {\r\n if (ignoreOneWay ||\r\n !(editor as HTMLElement).dataset ||\r\n !(editor as HTMLElement).dataset.oneWay)\r\n target[name] = editor.value;\r\n }\r\n else if (editor.element) {\r\n if (ignoreOneWay ||\r\n !editor.options ||\r\n !editor.options.oneWay) {\r\n Serenity.EditorUtils.saveValue(editor, { name: name }, target);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n export interface LabelProps {\r\n hint?: string;\r\n htmlFor?: string;\r\n width?: string | number;\r\n required?: boolean;\r\n }\r\n\r\n export class Label extends React.Component {\r\n render() {\r\n var props = this.props;\r\n var width = typeof props.width == \"string\" || props.width == null ? null :\r\n (typeof (props.width) == \"number\" ? props.width + \"px\" :\r\n props.width);\r\n\r\n var style = width == null ? null : (width == \"0\" ? { display: \"none\" } : { width: width });\r\n\r\n return (\r\n \r\n );\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n export class ValidationMark extends React.Component {\r\n\r\n render() {\r\n return (

);\r\n }\r\n\r\n shouldComponentUpdate() {\r\n return false;\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n export type EditorRenderProps = {\r\n className?: string;\r\n name?: string;\r\n id?: string;\r\n required?: boolean;\r\n ref?: (editor: any) => void;\r\n }\r\n\r\n export interface FieldProps {\r\n name?: string;\r\n id?: string;\r\n className?: string;\r\n caption?: string | false;\r\n labelWidth?: number | string;\r\n label?: ((p: LabelProps) => JSX.Element);\r\n htmlFor?: string;\r\n editor?: ((p: EditorRenderProps) => JSX.Element);\r\n setRef?: (name: string, editor: any) => void;\r\n hint?: string;\r\n required?: boolean;\r\n vx?: boolean;\r\n }\r\n\r\n export class Field extends React.Component {\r\n\r\n private editorRef: any;\r\n\r\n componentWillReceiveProps(nextProps: FieldProps, nextContext?: any): void {\r\n if (nextProps != null && nextProps.setRef !== this.props.setRef) {\r\n this.editorRef = null;\r\n }\r\n }\r\n\r\n render() {\r\n var props = this.props;\r\n\r\n var lblElement: JSX.Element;\r\n if (props.label != null)\r\n lblElement = props.label(this.props);\r\n else if (props.caption !== false) {\r\n lblElement = (\r\n \r\n {props.caption}\r\n \r\n );\r\n }\r\n\r\n var className = \"field\";\r\n if (props.name) {\r\n className += \" \" + props.name;\r\n }\r\n\r\n if (props.className) {\r\n className += \" \" + props.className;\r\n }\r\n\r\n var name = props.name;\r\n if (this.props.setRef != null &&\r\n this.editorRef == null) {\r\n var setRef = this.props.setRef;\r\n this.editorRef = function (x: any) {\r\n setRef(name, x);\r\n };\r\n }\r\n\r\n var editorProps: EditorRenderProps = {\r\n className: \"editor\",\r\n name: name,\r\n id: this.props.id,\r\n required: this.props.required,\r\n ref: this.editorRef\r\n }\r\n\r\n return (\r\n
\r\n {lblElement}\r\n {props.editor != null && props.editor(editorProps)}\r\n {props.children}\r\n {props.vx !== false && }\r\n
\r\n
\r\n );\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n export interface PropertyFieldProps extends Serenity.PropertyItem {\r\n idPrefix?: string\r\n localTextPrefix?: string;\r\n setRef?: (name: string, editor: any) => void;\r\n }\r\n\r\n export class PropertyField extends React.Component {\r\n\r\n protected text = Q.prefixedText(this.props.localTextPrefix);\r\n\r\n getCaption(): string {\r\n return this.text(this.props.title, this.props.name);\r\n }\r\n\r\n getHint(): string {\r\n var hint = this.text(this.props.hint, this.props.name + '_Hint');\r\n\r\n if (hint == null)\r\n return this.getCaption();\r\n\r\n return hint || null;\r\n }\r\n\r\n getPlaceHolder() {\r\n return this.text(this.props.placeholder, this.props.name + '_Placeholder');\r\n }\r\n\r\n getClassName() {\r\n var className = this.props.cssClass || \"\";\r\n\r\n if (!Q.isEmptyOrNull(this.props.formCssClass)) {\r\n className += (className ? \" \" : \"\") + this.props.formCssClass;\r\n }\r\n\r\n return className;\r\n }\r\n\r\n getHtmlFor(editorType: any) {\r\n var htmlFor;\r\n if ((editorType === RadioButtonEditor || editorType === BooleanEditor) &&\r\n (this.props.editorParams == null || !!!this.props.editorParams['labelFor'])) {\r\n htmlFor = null;\r\n }\r\n return htmlFor;\r\n }\r\n\r\n getEditorType() {\r\n if (this.props.editorType == null)\r\n return Serenity.StringEditor;\r\n\r\n if (typeof this.props.editorType == \"string\")\r\n return Serenity.EditorTypeRegistry.get(this.props.editorType);\r\n\r\n return this.props.editorType;\r\n }\r\n\r\n getEditorId() {\r\n return (this.props.idPrefix || \"\") + (this.props.name || \"\");\r\n }\r\n\r\n getMaxLength() {\r\n return this.props.maxLength > 0 ? this.props.maxLength : null;\r\n }\r\n\r\n render() {\r\n var EditorType = this.getEditorType();\r\n\r\n return (\r\n \r\n \r\n }\r\n >\r\n {this.props.children}\r\n \r\n );\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n\r\n export interface CategoryTitleProps {\r\n categoryId?: string;\r\n collapsed?: boolean;\r\n onClick?: React.EventHandler;\r\n }\r\n\r\n export class CategoryTitle extends React.Component {\r\n\r\n static collapsedIcon = ;\r\n static expandedIcon = ;\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n {this.props.children}\r\n \r\n {this.props.collapsed != null && (this.props.collapsed ? CategoryTitle.collapsedIcon : CategoryTitle.expandedIcon)}\r\n
\r\n )\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n export interface CategoryLineBreakProps {\r\n breakClass: string;\r\n }\r\n\r\n export class CategoryLineBreak extends React.Component {\r\n\r\n getBreakClass() {\r\n var breakClass = \"line-break\";\r\n\r\n var splitted = this.props.breakClass.split(' ');\r\n if (splitted.indexOf('line-break-xs') >= 0) {\r\n }\r\n else if (splitted.indexOf('line-break-sm') >= 0) {\r\n breakClass += \" hidden-xs\";\r\n }\r\n else if (splitted.indexOf('line-break-md') >= 0) {\r\n breakClass += \" hidden-sm\";\r\n }\r\n else if (splitted.indexOf('line-break-lg') >= 0) {\r\n breakClass += \" hidden-md\";\r\n }\r\n\r\n return breakClass;\r\n }\r\n\r\n render() {\r\n return (
);\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n\r\n export interface CategoryLinkProps {\r\n categoryId?: string;\r\n onClick?: React.EventHandler\r\n }\r\n\r\n export class CategoryLink extends React.Component {\r\n\r\n handleClick(e: React.MouseEvent) {\r\n e.preventDefault();\r\n\r\n this.props.onClick && this.props.onClick(e);\r\n\r\n var title = $('a[id=' + this.props.categoryId + ']');\r\n\r\n var category = title.closest('.category');\r\n if (category.hasClass('collapsed'))\r\n category.children('.category-title').click();\r\n\r\n if (!title && !title.fadeTo)\r\n return;\r\n\r\n var animate = function () {\r\n title.fadeTo(100, 0.5, function () {\r\n title.fadeTo(100, 1, function () {\r\n });\r\n });\r\n };\r\n\r\n if (category.closest(':scrollable(both)').length === 0)\r\n animate();\r\n else {\r\n var siv = (category as any).scrollintoview;\r\n siv && siv.scrollintoview({\r\n duration: 'fast',\r\n direction: 'y',\r\n complete: animate\r\n });\r\n }\r\n }\r\n\r\n getLink() {\r\n if (Q.isEmptyOrNull(this.props.categoryId))\r\n return null;\r\n\r\n return \"#\" + this.props.categoryId;\r\n }\r\n\r\n render() {\r\n return (\r\n this.handleClick(e)} href={this.getLink()}>\r\n {this.props.children}\r\n \r\n )\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n\r\n export interface CategoryLinksProps {\r\n idPrefix?: string;\r\n items?: Serenity.PropertyItem[];\r\n defaultCategory?: string;\r\n categoryOrder?: string;\r\n localTextPrefix?: string;\r\n }\r\n\r\n export class CategoryLinks extends React.Component {\r\n\r\n protected text = Q.prefixedText(this.props.localTextPrefix);\r\n\r\n renderSeparator(key: any) {\r\n return |;\r\n }\r\n\r\n render() {\r\n var groups = Categories.groupByCategory(this.props.items);\r\n\r\n return (\r\n
\r\n {groups.inOrder.map((g, idx) => [\r\n (idx > 0 && this.renderSeparator(\"sep-\" + idx)),\r\n \r\n {this.text(g.key, \"Categories.\" + g.key)}\r\n \r\n ])}\r\n
\r\n )\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n\r\n export interface CategoryProps {\r\n categoryId?: string;\r\n category?: string;\r\n collapsed?: boolean;\r\n idPrefix?: string;\r\n localTextPrefix?: string;\r\n items?: PropertyItem[];\r\n renderField?: (props: PropertyItem) => React.ReactNode;\r\n setRef?: (name: string, editor: any) => void;\r\n }\r\n\r\n export class Category extends React.Component> {\r\n\r\n protected text = Q.prefixedText(this.props.localTextPrefix);\r\n\r\n constructor(props: CategoryProps, context?: any) {\r\n super(props, context);\r\n\r\n this.state = {\r\n collapsed: this.props.collapsed\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps: CategoryProps) {\r\n if (nextProps.collapsed !== this.props.collapsed) {\r\n this.setState({\r\n collapsed: nextProps.collapsed\r\n });\r\n }\r\n }\r\n\r\n getClassName() {\r\n if (this.state.collapsed == null)\r\n return \"category \";\r\n\r\n if (this.state.collapsed == true)\r\n return \"category collapsible collapsed\";\r\n\r\n return \"category collapsible\";\r\n }\r\n\r\n getCategoryId() {\r\n if (!this.props.categoryId)\r\n return null;\r\n\r\n return Q.coalesce(this.props.idPrefix, '') + this.props.categoryId;\r\n }\r\n\r\n handleTitleClick() {\r\n if (this.state.collapsed == null)\r\n return;\r\n\r\n this.setState({\r\n collapsed: !this.state.collapsed\r\n });\r\n }\r\n\r\n renderTitle() {\r\n if (this.props.category == null)\r\n return null;\r\n\r\n return (\r\n this.handleTitleClick()}>\r\n {this.text(this.props.category, \"Categories.\" + this.props.category)}\r\n \r\n );\r\n }\r\n\r\n renderField(item: PropertyItem) {\r\n var props = Q.extend({\r\n idPrefix: this.props.idPrefix,\r\n localTextPrefix: this.props.localTextPrefix,\r\n key: item.name,\r\n setRef: this.props.setRef\r\n }, item);\r\n\r\n if (this.props.renderField != null) {\r\n var content = this.props.renderField(props);\r\n if (content !== undefined)\r\n return content;\r\n }\r\n\r\n return React.createElement(PropertyField, props);\r\n }\r\n\r\n renderWithBreak(item: PropertyItem) {\r\n return [, this.renderField(item)];\r\n }\r\n\r\n render() {\r\n var props = this.props;\r\n return (\r\n
\r\n {this.renderTitle()}\r\n {props.items && props.items.map(item => {\r\n if (item.formCssClass && item.formCssClass.indexOf('line-break-') >= 0)\r\n return this.renderWithBreak(item);\r\n\r\n return this.renderField(item);\r\n })}\r\n {props.children}\r\n
\r\n );\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n\r\n export class CategoriesProps {\r\n idPrefix?: string;\r\n items?: Serenity.PropertyItem[];\r\n defaultCategory?: string;\r\n categoryOrder?: string;\r\n localTextPrefix?: string;\r\n renderCategory?: (props: CategoryProps) => React.ReactNode;\r\n renderField?: (props: PropertyItem) => React.ReactNode;\r\n setRef?: (name: string, editor: any) => void;\r\n }\r\n\r\n export class Categories extends React.Component {\r\n\r\n static applyOrder(groups: Q.Groups, categoryOrder: string): void {\r\n if (!categoryOrder)\r\n return;\r\n\r\n var split = categoryOrder.split(';');\r\n var order = 0;\r\n var catOrder = {};\r\n\r\n for (var s of split) {\r\n var x = Q.trimToNull(s);\r\n if (x == null || catOrder[x] != null)\r\n continue;\r\n catOrder[x] = order++;\r\n }\r\n\r\n groups.inOrder.sort((g1, g2) => {\r\n var order1 = catOrder[g1.key];\r\n if (order1 == null)\r\n catOrder[g1.key] = catOrder = order++;\r\n\r\n var order2 = catOrder[g2.key];\r\n if (order2 == null)\r\n catOrder[g2.key] = catOrder = order++;\r\n\r\n return order1 - order2;\r\n });\r\n\r\n for (order = 0; order < groups.inOrder.length; order++)\r\n groups.inOrder[order].order = order;\r\n }\r\n\r\n static groupByCategory(items: PropertyItem[], defaultCategory?: string, categoryOrder?: string): Q.Groups {\r\n var defCat = Q.coalesce(defaultCategory, '');\r\n var groups = Q.groupBy(items || [], x => Q.coalesce(x.category, defCat));\r\n Categories.applyOrder(groups, categoryOrder);\r\n return groups;\r\n }\r\n\r\n renderCategory(group: Q.Group) {\r\n\r\n var catProps: CategoryProps & { key?: any } = {\r\n categoryId: \"Category\" + group.order,\r\n category: group.key,\r\n idPrefix: this.props.idPrefix,\r\n localTextPrefix: this.props.localTextPrefix,\r\n items: group.items,\r\n key: group.order,\r\n renderField: this.props.renderField,\r\n setRef: this.props.setRef\r\n };\r\n\r\n if (this.props.renderCategory != null) {\r\n var content = this.props.renderCategory(catProps);\r\n if (content !== undefined)\r\n return content;\r\n }\r\n\r\n return \r\n }\r\n\r\n render() {\r\n\r\n return (\r\n
\r\n {Categories.groupByCategory(this.props.items || [],\r\n this.props.defaultCategory, this.props.categoryOrder).inOrder.map(g =>\r\n this.renderCategory(g))\r\n }\r\n
\r\n )\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n export type ValidateFormProps = {\r\n options?: JQueryValidation.ValidationOptions;\r\n } & React.HTMLAttributes;\r\n\r\n export class ValidateForm extends React.Component {\r\n\r\n private validator: JQueryValidation.Validator;\r\n private form: HTMLFormElement;\r\n\r\n render() {\r\n var { options, ...other } = this.props;\r\n return (\r\n
{ this.form = el as any }}\r\n onSubmit={this.props.onSubmit || ((e) => this.handleSubmit(e))}>\r\n {this.props.children}\r\n
\r\n );\r\n }\r\n\r\n handleSubmit(e: React.FormEvent) {\r\n if (!this.validator.valid())\r\n return false;\r\n }\r\n\r\n componentDidMount() {\r\n this.validator = $(this.form).validate(Q.validateOptions(this.props.options));\r\n }\r\n\r\n validateForm(): boolean {\r\n return this.validator == null || !!this.validator.form();\r\n }\r\n\r\n serialize(): any {\r\n var result: any = {};\r\n $(this.form).find(':input, .editor').each((i, e) => {\r\n var name = $(e).attr('name');\r\n if (!name)\r\n return;\r\n\r\n var widget = $(e).tryGetWidget(Widget);\r\n if (widget)\r\n result[name] = EditorUtils.getValue(widget);\r\n else\r\n result[name] = $(e).val();\r\n });\r\n return result;\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n\r\n export class Form extends ValidateForm {\r\n render() {\r\n return (\r\n
\r\n
\r\n {super.render()}\r\n
\r\n
\r\n );\r\n }\r\n }\r\n\r\n}","namespace Serenity.UI {\r\n\r\n export interface PropertyTabProps {\r\n idPrefix?: string;\r\n items?: Serenity.PropertyItem[];\r\n localTextPrefix?: string;\r\n categoryOrder?: string;\r\n defaultCategory?: string;\r\n renderCategories?: (tab: string, props: CategoriesProps) => React.ReactNode;\r\n renderCategory?: (props: CategoryProps) => React.ReactNode;\r\n renderField?: (props: PropertyItem) => React.ReactNode;\r\n setRef?: (name: string, editor: any) => void;\r\n }\r\n\r\n export class PropertyTabs extends React.Component {\r\n\r\n protected text = Q.prefixedText(this.props.localTextPrefix);\r\n\r\n static groupByTab(items: PropertyItem[]): Q.Groups {\r\n return Q.groupBy(items || [], x => Q.coalesce(x.tab, ''));\r\n }\r\n\r\n renderTab(group: Q.Group) {\r\n return (\r\n
  • \r\n \r\n {this.text(group.key, \"Tabs.\" + group.key)}\r\n \r\n
  • \r\n );\r\n }\r\n\r\n renderPane(group: Q.Group) {\r\n return (\r\n
    \r\n {this.renderCategories(group)}\r\n
    \r\n );\r\n }\r\n\r\n renderCategories(group: Q.Group) {\r\n\r\n var props: CategoriesProps = {\r\n items: group.items,\r\n idPrefix: this.props.idPrefix,\r\n localTextPrefix: this.props.localTextPrefix,\r\n categoryOrder: this.props.categoryOrder,\r\n defaultCategory: this.props.defaultCategory,\r\n renderCategory: this.props.renderCategory,\r\n renderField: this.props.renderField,\r\n setRef: this.props.setRef\r\n }\r\n\r\n if (this.props.renderCategories) {\r\n var content = this.props.renderCategories(group.key, props);\r\n if (content !== undefined)\r\n return content;\r\n }\r\n\r\n return \r\n }\r\n\r\n render() {\r\n var tabs = PropertyTabs.groupByTab(this.props.items || []);\r\n\r\n return (\r\n \r\n
      \r\n {tabs.inOrder.map((g) => this.renderTab(g))}\r\n
    \r\n
    \r\n {tabs.inOrder.map((g) => this.renderPane(g))}\r\n
    \r\n
    \r\n );\r\n }\r\n }\r\n}","namespace Serenity {\r\n export interface PropertyGridOptions {\r\n idPrefix?: string;\r\n items?: PropertyItem[];\r\n useCategories?: boolean;\r\n categoryOrder?: string;\r\n defaultCategory?: string;\r\n localTextPrefix?: string;\r\n mode?: PropertyGridMode;\r\n renderCategories?: (tab: string, props: UI.CategoriesProps) => React.ReactNode;\r\n renderCategory?: (props: UI.CategoryProps) => React.ReactNode;\r\n renderField?: (props: PropertyItem) => React.ReactNode;\r\n setRef?: (name: string, editor: any) => void;\r\n }\r\n}\r\n\r\nnamespace Serenity.UI {\r\n\r\n export class IntraPropertyGrid extends React.Component {\r\n\r\n loadFrom(source: any, editors: UI.EditorRefs): void {\r\n var items = this.props.items || [];\r\n\r\n for (var item of items) {\r\n\r\n if (this.props.mode != PropertyGridMode.update &&\r\n item.defaultValue != null &&\r\n typeof (source[item.name]) === 'undefined') {\r\n source[item.name] = item.defaultValue;\r\n }\r\n }\r\n\r\n editors.loadFrom(source, items.map(x => x.name));\r\n }\r\n\r\n canModifyItem(item: PropertyItem) {\r\n if (this.props.mode != PropertyGridMode.update) {\r\n if (item.insertable === false) {\r\n return false;\r\n }\r\n\r\n if (item.insertPermission == null) {\r\n return true;\r\n }\r\n\r\n return Q.Authorization.hasPermission(item.insertPermission);\r\n }\r\n\r\n if (item.updatable === false) {\r\n return false;\r\n }\r\n\r\n if (item.updatePermission == null) {\r\n return true;\r\n }\r\n\r\n return Q.Authorization.hasPermission(item.updatePermission);\r\n }\r\n\r\n saveTo(target: any, editors: EditorRefs): void {\r\n editors.saveTo(target);\r\n }\r\n\r\n getItems() {\r\n return (this.props.items || []).map(item => {\r\n var canModify = this.canModifyItem(item);\r\n var oneWay = !!item.oneWay || !canModify;\r\n var readOnly = item.readOnly === true || !canModify;\r\n var required = !readOnly && !!item.required && item.editorType !== 'Boolean';\r\n var visible = !((item.readPermission != null &&\r\n !Q.Authorization.hasPermission(item.readPermission)) ||\r\n item.visible === false ||\r\n (this.props.mode != Serenity.PropertyGridMode.update && item.hideOnInsert === true) ||\r\n (this.props.mode == Serenity.PropertyGridMode.update && item.hideOnUpdate === true));\r\n\r\n return Q.extend(Q.extend({}, item), {\r\n readOnly: readOnly,\r\n oneWay: oneWay,\r\n required: required,\r\n visible: visible\r\n });\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n\r\n var props: PropertyGridOptions = Q.extend({}, this.props);\r\n props.items = this.getItems();\r\n\r\n var useTabs = Q.any(props.items, function (x) {\r\n return !Q.isEmptyOrNull(x.tab);\r\n });\r\n\r\n if (useTabs)\r\n return React.createElement(UI.PropertyTabs, props);\r\n\r\n var useCategories = props.useCategories !== false && Q.any(props.items, function (x) {\r\n return !Q.isEmptyOrNull(x.category);\r\n });\r\n\r\n if (useCategories) {\r\n \r\n {React.createElement(UI.CategoryLinks, props)}\r\n {React.createElement(UI.Categories, props)}\r\n \r\n }\r\n\r\n return (\r\n
    \r\n {React.createElement(UI.Category, props)}\r\n
    \r\n )\r\n }\r\n }\r\n\r\n export class PropertyGrid extends IntraPropertyGrid {\r\n\r\n render() {\r\n return (\r\n
    \r\n {super.render()}\r\n
    \r\n );\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n\r\n export class ButtonPanel extends React.Component {\r\n render() {\r\n return (\r\n
    \r\n {this.props.children}\r\n
    \r\n )\r\n }\r\n }\r\n\r\n}","namespace Serenity {\r\n export interface ToolButton {\r\n title?: string;\r\n hint?: string;\r\n cssClass?: string;\r\n icon?: string;\r\n onClick?: any;\r\n htmlEncode?: any;\r\n hotkey?: string;\r\n hotkeyAllowDefault?: boolean;\r\n hotkeyContext?: any;\r\n separator?: boolean;\r\n }\r\n\r\n export interface ToolbarOptions {\r\n buttons?: ToolButton[];\r\n hotkeyContext?: any;\r\n }\r\n\r\n export namespace UI {\r\n\r\n export interface ToolButtonProps extends Serenity.ToolButton {\r\n disabled?: boolean;\r\n hidden?: boolean;\r\n }\r\n\r\n @Decorators.registerClass(\"Serenity.UI.ToolButton\")\r\n export class ToolButton extends React.Component {\r\n\r\n static buttonSelector = \"div.tool-button\";\r\n\r\n static adjustIconClass(icon: string): string {\r\n if (!icon)\r\n return icon;\r\n\r\n if (Q.startsWith(icon, 'fa-'))\r\n return 'fa ' + icon;\r\n\r\n if (Q.startsWith(icon, 'glyphicon-'))\r\n return 'glyphicon ' + icon;\r\n\r\n return icon;\r\n }\r\n\r\n static className(btn: ToolButtonProps) {\r\n return Q.cssClass({\r\n \"tool-button\": true,\r\n \"icon-tool-button\": !!btn.icon,\r\n \"no-text\": !btn.title,\r\n disabled: btn.disabled,\r\n [btn.cssClass]: !!btn.cssClass,\r\n });\r\n }\r\n\r\n handleClick(e: React.MouseEvent) {\r\n if (!this.props.onClick || $(e.currentTarget).hasClass('disabled'))\r\n return;\r\n\r\n this.props.onClick(e);\r\n }\r\n\r\n render() {\r\n return (\r\n
    this.handleClick(e)}>\r\n
    \r\n {this.renderButtonText()}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n renderButtonText() {\r\n var btn = this.props;\r\n var klass = ToolButton.adjustIconClass(btn.icon);\r\n if (!klass && !btn.title)\r\n return ;\r\n\r\n var title = Q.coalesce(btn.title, '');\r\n\r\n if (btn.htmlEncode === false) {\r\n var h = (klass ? ' ' : '') + title;\r\n return ();\r\n }\r\n\r\n if (!klass)\r\n return {title}\r\n\r\n return {title}\r\n }\r\n }\r\n\r\n export class IntraToolbar extends React.Component {\r\n\r\n public el: Element;\r\n protected mouseTrap: any;\r\n\r\n setupMouseTrap() {\r\n if (!window['Mousetrap'])\r\n return;\r\n\r\n var buttons;\r\n for (var b of (this.props.buttons || [])) {\r\n if (Q.isEmptyOrNull(b.hotkey))\r\n continue;\r\n\r\n this.mouseTrap = this.mouseTrap || window['Mousetrap'](\r\n this.props.hotkeyContext || window.document.documentElement);\r\n\r\n ((x) => {\r\n var btn = (buttons = buttons || $(this.el).find(UI.ToolButton.buttonSelector))\r\n .filter(\".\" + x.cssClass);\r\n\r\n this.mouseTrap.bind(x.hotkey, function (e: BaseJQueryEventObject, action: any) {\r\n if (btn.is(':visible')) {\r\n btn.click();\r\n }\r\n return x.hotkeyAllowDefault;\r\n });\r\n })(b);\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setupMouseTrap();\r\n }\r\n\r\n componentWillUnmount() {\r\n $(this.el).find(UI.ToolButton.buttonSelector).unbind('click');\r\n if (this.mouseTrap) {\r\n if (!!this.mouseTrap.destroy) {\r\n this.mouseTrap.destroy();\r\n }\r\n else {\r\n this.mouseTrap.reset();\r\n }\r\n\r\n this.mouseTrap = null;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    this.el = el}>\r\n
    \r\n {this.renderButtons(this.props.buttons || [])}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n renderButtons(buttons: Serenity.ToolButton[]) {\r\n var result: JSX.Element[] = [];\r\n for (var btn of buttons) {\r\n if (btn.separator)\r\n result.push(
    );\r\n\r\n result.push();\r\n }\r\n\r\n var key = 0;\r\n return (
    \r\n {result.map(x => { x.key = ++key; return x; })}\r\n {this.props.children}\r\n
    );\r\n }\r\n }\r\n\r\n @Decorators.registerClass(\"Serenity.UI.Toolbar\")\r\n export class Toolbar extends IntraToolbar {\r\n render() {\r\n return (\r\n
    \r\n {super.render()}\r\n
    \r\n );\r\n }\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n export interface SaveButtonProps extends ToolButtonProps {\r\n isUpdate?: boolean;\r\n }\r\n\r\n export class SaveButton extends React.Component {\r\n\r\n render() {\r\n var title = Q.text(\"Controls.EntityDialog.\" + (this.props.isUpdate ? \"UpdateButton\" : \"SaveButton\"));\r\n\r\n return (\r\n \r\n \r\n );\r\n }\r\n\r\n }\r\n\r\n export class ApplyChangesButton extends React.Component {\r\n\r\n render() {\r\n var hint = Q.text(\"Controls.EntityDialog.ApplyChangesButton\");\r\n\r\n return (\r\n \r\n \r\n );\r\n }\r\n\r\n }\r\n\r\n export class DeleteButton extends React.Component {\r\n\r\n render() {\r\n var title = Q.text(\"Controls.EntityDialog.DeleteButton\");\r\n\r\n return (\r\n \r\n \r\n );\r\n }\r\n }\r\n}","namespace Serenity.UI { \r\n export enum FormMode {\r\n Initial = 0,\r\n New = 1,\r\n Edit = 2,\r\n View = 3,\r\n Deleted = 4\r\n }\r\n}","namespace Serenity.UI { \r\n export interface FormDataModel {\r\n entity: TEntity;\r\n entityId?: any;\r\n formMode: FormMode;\r\n formTitle?: string;\r\n onSave?: (values: TEntity) => PromiseLike;\r\n onDelete?: () => PromiseLike;\r\n onUndelete?: () => PromiseLike;\r\n onReload?: () => PromiseLike;\r\n }\r\n}","namespace Serenity.UI { \r\n\r\n export interface FormDataSourceProps {\r\n service?: string;\r\n retrieveService?: string;\r\n createService?: string;\r\n updateService?: string;\r\n entityId?: any;\r\n entity?: TEntity;\r\n idProperty?: string;\r\n nameProperty?: string;\r\n isActiveProperty?: string;\r\n isDeletedProperty?: string;\r\n localTextPrefix?: string;\r\n readOnly?: boolean;\r\n view?: (model: FormDataModel) => React.ReactNode;\r\n }\r\n\r\n export interface FormDataSourceState {\r\n entity: TEntity;\r\n formMode: FormMode;\r\n formTitle: string;\r\n localizations?: any;\r\n }\r\n\r\n export class FormDataSource extends React.Component, FormDataSourceState> {\r\n\r\n private emptyEntity: TEntity = Object.create(null);\r\n private pendingEntity: TEntity;\r\n private canSetState: boolean;\r\n\r\n constructor(props: FormDataSourceProps, context?: any) {\r\n super(props, context);\r\n\r\n var entity = this.props.entity;\r\n\r\n var mode = this.modeFor(entity);\r\n this.state = {\r\n formMode: mode,\r\n formTitle: this.titleFor(entity, mode),\r\n entity: entity\r\n };\r\n\r\n if (this.props.entityId != null)\r\n this.loadById(this.props.entityId);\r\n\r\n this.delete = this.delete.bind(this);\r\n this.save = this.save.bind(this); \r\n }\r\n\r\n componentWillReceiveProps(nextProps: FormDataSourceProps) {\r\n var nextEntityId = Q.coalesce(nextProps.entityId, null);\r\n var entityId = Q.coalesce(this.props.entityId, null);\r\n if (nextEntityId !== entityId) {\r\n if (nextEntityId === null) {\r\n this.loadEntity(nextProps.entity || Object.create(null));\r\n }\r\n else {\r\n this.loadById(nextProps.entityId);\r\n }\r\n }\r\n else if (nextProps.entity !== this.props.entity) {\r\n this.loadEntity(Q.coalesce(nextProps.entity, Object.create(null)));\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.canSetState = true;\r\n if (this.pendingEntity !== undefined) {\r\n this.loadEntity(this.pendingEntity || Object.create(null));\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.canSetState = false;\r\n }\r\n\r\n loadEntity(entity: TEntity) {\r\n if (this.canSetState) {\r\n var mode = this.modeFor(entity);\r\n this.setState({\r\n formMode: mode,\r\n formTitle: this.titleFor(entity, mode),\r\n entity: entity\r\n });\r\n this.pendingEntity = undefined;\r\n }\r\n else {\r\n this.pendingEntity = entity || null;\r\n }\r\n }\r\n\r\n loadResponse(response: RetrieveResponse) {\r\n this.loadEntity(response.Entity);\r\n }\r\n\r\n getLoadByIdRequest(entityId: any): RetrieveRequest {\r\n return {\r\n EntityId: entityId\r\n }\r\n }\r\n\r\n getServiceFor(method: string): string {\r\n\r\n var service = this.props[method.charAt(0).toLowerCase() + method.substr(1) + \"Service\"];\r\n if (service != null)\r\n return service;\r\n\r\n return (this.props.service || \"ServiceNotSet!\") + \"/\" + method;\r\n }\r\n\r\n getLoadByIdOptions(entityId: any): ServiceOptions> {\r\n return {\r\n service: this.getServiceFor(\"Retrieve\"),\r\n request: this.getLoadByIdRequest(entityId)\r\n }\r\n }\r\n\r\n loadById(entityId: any): PromiseLike> {\r\n var options = this.getLoadByIdOptions(entityId);\r\n return Q.serviceCall(options).then(response => {\r\n this.loadResponse(response);\r\n return response;\r\n });\r\n }\r\n\r\n isDeleted(entity: TEntity): boolean {\r\n if (this.props.isDeletedProperty && entity[this.props.isDeletedProperty])\r\n return true;\r\n\r\n if (this.props.isActiveProperty && entity[this.props.isActiveProperty] === -1)\r\n return true;\r\n }\r\n\r\n modeFor(entity: TEntity) {\r\n if (entity == null)\r\n return FormMode.Initial;\r\n\r\n if (this.props.readOnly)\r\n return FormMode.View;\r\n\r\n if (this.props.idProperty && entity[this.props.idProperty] != null)\r\n return FormMode.Edit;\r\n\r\n if (this.isDeleted(entity))\r\n return FormMode.Deleted;\r\n\r\n return FormMode.New;\r\n }\r\n\r\n protected getEntityName(): string {\r\n if (this.props.localTextPrefix) {\r\n var es = Q.tryGetText(\"Db.\" + this.props.localTextPrefix + '.EntitySingular');\r\n if (es)\r\n return es;\r\n }\r\n\r\n return \"Item\";\r\n }\r\n\r\n protected getNameValue(entity: TEntity): any {\r\n if (!entity || !this.props.nameProperty)\r\n return \"\";\r\n\r\n return Q.coalesce(entity[this.props.nameProperty], '').toString();\r\n }\r\n\r\n titleFor(entity: TEntity, mode: FormMode) {\r\n\r\n if (mode == FormMode.New)\r\n return Q.format(Q.text('Controls.EntityDialog.NewRecordTitle'), this.getEntityName());\r\n\r\n var title = Q.coalesce(this.getNameValue(entity), '');\r\n return Q.format(Q.text('Controls.EntityDialog.EditRecordTitle'),\r\n this.getEntityName(), (Q.isEmptyOrNull(title) ? '' : (' (' + title + ')')));\r\n }\r\n\r\n isEditMode() {\r\n return this.state.formMode == FormMode.Edit;\r\n }\r\n\r\n getSaveEntity(values: TEntity): TEntity {\r\n return values;\r\n }\r\n\r\n getSaveOptions(values: TEntity): ServiceOptions {\r\n\r\n var opt: Q.ServiceOptions = {};\r\n opt.service = this.getServiceFor(this.isEditMode() ? \"Update\" : \"Create\");\r\n opt.request = this.getSaveRequest(values);\r\n\r\n return opt;\r\n }\r\n\r\n getIdProperty() {\r\n return this.props.idProperty || \"NoIdProperty!\";\r\n }\r\n\r\n protected getLanguages(): any[] {\r\n if (Serenity.EntityDialog.defaultLanguageList != null)\r\n return Serenity.EntityDialog.defaultLanguageList() || [];\r\n\r\n return [];\r\n }\r\n\r\n protected getPendingLocalizations(): any {\r\n if (this.state.localizations == null) {\r\n return null;\r\n }\r\n\r\n var result: Q.Dictionary = {};\r\n var idField = this.getIdProperty();\r\n var langs = this.getLanguages();\r\n\r\n for (var pair of langs) {\r\n var language = pair[0];\r\n var entity: any = {};\r\n\r\n if (idField != null) {\r\n entity[idField] = this.entity[this.getIdProperty()];\r\n }\r\n\r\n var prefix = language + '$';\r\n\r\n for (var k of Object.keys(this.state.localizations)) {\r\n if (Q.startsWith(k, prefix))\r\n entity[k.substr(prefix.length)] = this.state.localizations[k];\r\n }\r\n\r\n result[language] = entity;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n getSaveRequest(values: TEntity) {\r\n var entity = this.getSaveEntity(values);\r\n var req: SaveRequest = {};\r\n req.Entity = entity;\r\n\r\n if (this.isEditMode()) {\r\n var idField = this.getIdProperty();\r\n if (idField != null) {\r\n req.EntityId = this.entity[this.props.idProperty];\r\n }\r\n }\r\n\r\n if (this.state.localizations != null) {\r\n req.Localizations = this.getPendingLocalizations();\r\n }\r\n\r\n return req;\r\n }\r\n\r\n save(values: TEntity): PromiseLike {\r\n var options = this.getSaveOptions(values);\r\n return Q.serviceCall(options);\r\n }\r\n\r\n delete(): PromiseLike {\r\n return null;\r\n }\r\n\r\n undelete(): PromiseLike {\r\n return null;\r\n }\r\n\r\n getDataModel(): FormDataModel {\r\n return {\r\n entity: this.state.entity || this.emptyEntity,\r\n formMode: this.state.formMode,\r\n formTitle: this.state.formTitle,\r\n onSave: (this.state.formMode == FormMode.Edit || this.state.formMode == FormMode.New) ? this.save : null,\r\n onDelete: this.state.formMode == FormMode.Edit ? this.delete : null,\r\n onUndelete: this.state.formMode == FormMode.Deleted ? this.undelete : null,\r\n };\r\n }\r\n\r\n get dataModel() {\r\n return this.getDataModel();\r\n }\r\n\r\n get entity() {\r\n return this.pendingEntity !== undefined ? this.pendingEntity : this.state.entity;\r\n }\r\n\r\n render() {\r\n return this.props.view(this.getDataModel());\r\n }\r\n }\r\n}","namespace Serenity.UI { \r\n export interface FormViewProps extends FormDataModel {\r\n onClose?: () => void;\r\n }\r\n\r\n export class FormView = FormViewProps, TState = any>\r\n extends React.Component {\r\n\r\n protected editors = new EditorRefs();\r\n\r\n canSave(): boolean {\r\n return this.props.onSave != null;\r\n }\r\n\r\n showSave(): boolean {\r\n return this.props.formMode == FormMode.Edit || this.props.formMode == FormMode.New;\r\n }\r\n\r\n canClose(): boolean {\r\n return this.props.onClose != null;\r\n }\r\n\r\n showApplyChanges(): boolean {\r\n return this.showSave() && this.canClose();\r\n }\r\n\r\n isUpdate(): boolean {\r\n return this.props.formMode == FormMode.Edit;\r\n }\r\n\r\n canDelete(): boolean {\r\n return this.props.onDelete != null;\r\n }\r\n\r\n showDelete(): boolean {\r\n return this.props.formMode == FormMode.Edit;\r\n }\r\n\r\n canUndelete(): boolean {\r\n return this.props.onUndelete != null;\r\n }\r\n\r\n showUndelete(): boolean {\r\n return this.props.formMode == FormMode.Deleted;\r\n }\r\n\r\n loadEntity(entity: TEntity) {\r\n this.editors.loadFrom(entity);\r\n }\r\n\r\n componentDidMount() {\r\n this.loadEntity(this.props.entity || Object.create(null));\r\n }\r\n\r\n componentWillReceiveProps(nextProps: TProps) {\r\n if (nextProps.entity !== null &&\r\n this.props.entity !== nextProps.entity) {\r\n this.loadEntity(nextProps.entity || Object.create(null));\r\n }\r\n }\r\n\r\n renderSaveButton() {\r\n return this.save(true)} />;\r\n }\r\n\r\n renderApplyChangesButton() {\r\n return this.save(false)} />;\r\n }\r\n\r\n renderDeleteButton() {\r\n return ;\r\n }\r\n\r\n renderToolbar(children?: React.ReactNode) {\r\n return (\r\n \r\n {this.showSave() && this.renderSaveButton()}\r\n {this.showApplyChanges() && this.renderApplyChangesButton()}\r\n {this.showDelete() && this.renderDeleteButton()}\r\n {children}\r\n \r\n )\r\n }\r\n\r\n save(close?: boolean): PromiseLike {\r\n if (this.props.onSave == null)\r\n return Promise.reject(\"No onSave handler!\");\r\n\r\n var values: TEntity = Object.create(null);\r\n this.editors.saveTo(values);\r\n\r\n var promise = this.props.onSave(values);\r\n\r\n if (close) {\r\n if (this.props.onClose != null)\r\n promise = promise.then(e => this.props.onClose != null && this.props.onClose());\r\n }\r\n else if (this.props.onReload != null) {\r\n promise = promise.then(e => this.props.onReload != null && this.props.onReload());\r\n }\r\n\r\n return promise;\r\n }\r\n }\r\n}","namespace Serenity.UI {\r\n\r\n export class Dialog extends Serenity.TemplatedDialog {\r\n protected view: any;\r\n protected entityId: any;\r\n protected entity: any;\r\n\r\n constructor(options?: TOptions) {\r\n super(options);\r\n\r\n this.mountView();\r\n }\r\n\r\n public loadByIdAndOpenDialog(entityId: any, asPanel?: boolean) {\r\n this.entityId = entityId;\r\n this.dialogOpen(asPanel);\r\n this.mountView();\r\n }\r\n\r\n public loadEntityAndOpenDialog(entity: any, asPanel?: boolean): void {\r\n this.entityId = null;\r\n this.entity = entity;\r\n this.dialogOpen(asPanel);\r\n this.mountView();\r\n }\r\n\r\n public loadNewAndOpenDialog(asPanel?: boolean) {\r\n this.entityId = null;\r\n this.entity = {};\r\n this.dialogOpen(asPanel);\r\n this.mountView();\r\n }\r\n\r\n private mountView() {\r\n if (!this.element || !this.element.length)\r\n return;\r\n\r\n var props = Q.extend({}, this.options);\r\n this.view = ReactDOM.render(this.render() as any, this.element[0]);\r\n }\r\n\r\n getTemplate() {\r\n return '
    ';\r\n }\r\n }\r\n}"]}