From 2f181815d9b3205e41a5bf827173804119afb6f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vilma=20H=C3=A4kkinen?= <47883554+vilmahakkinen@users.noreply.github.com> Date: Wed, 3 Nov 2021 14:39:05 +0200 Subject: [PATCH] Move PaRI to past activities --- .DS_Store | Bin 10244 -> 10244 bytes OrgChartJS/orgchart.d.ts | 1942 ++++++++++++++++++++++++++++++++++ OrgChartJS/orgchart.js | 2 + _activities/pari.md | 3 +- _includes/about.html | 5 +- _includes/organisation.html | 90 ++ about/organisation.md | 4 + assets/.DS_Store | Bin 14340 -> 14340 bytes assets/css/neic-styles.css | 48 +- assets/images/.DS_Store | Bin 18436 -> 18436 bytes assets/images/news/.DS_Store | Bin 0 -> 6148 bytes 11 files changed, 2090 insertions(+), 4 deletions(-) create mode 100644 OrgChartJS/orgchart.d.ts create mode 100644 OrgChartJS/orgchart.js create mode 100644 _includes/organisation.html create mode 100644 about/organisation.md create mode 100644 assets/images/news/.DS_Store diff --git a/.DS_Store b/.DS_Store index dbd61f676f8b7dbd3cd1220d2f5f84261a85f19d..af00599d1014b36a350f7c61e1f116501c831994 100644 GIT binary patch delta 306 zcmZn(XbG6$&*-o*U^hRb!)6|VJVuU`;^ds9{QR8B*@Dv%oY#U|IbkvklQ#&7OkN-~ z4KBS|S$H3#U_3)HLncEBLn=(+=G!9cnM}DD{27WE(ixl?G8htptP%z~;)0}{ z{3HejhSNy}Ihn;J1_sv|nV4Bv+1NQaxHu;N5zWx&;EWfLs;)M)G&RssFf=u<)lsN6 zG%zvMQ7|<%tgYqb5LY#{^-RdEtg5c5t(!f0qL{qZ9H5C16RQEUW)-OdvqKrg W2C;y-0ka1n`UJCv6^R0qLm7Gtco;SS diff --git a/OrgChartJS/orgchart.d.ts b/OrgChartJS/orgchart.d.ts new file mode 100644 index 00000000..3be0f14a --- /dev/null +++ b/OrgChartJS/orgchart.d.ts @@ -0,0 +1,1942 @@ +declare namespace OrgChart { + + function isTrial(): boolean; + + enum orientation { + top, + left, + right, + bottom, + top_left, + bottom_left, + right_top, + left_top + } + enum action { + /** + * mouseScrool value + */ + zoom, + /** + * mouseScrool value + */ + scroll, + /** + * mouseScrool value + */ + xScroll, + /** + * mouseScrool value + */ + yScroll, + /** + * Zoom on Ctrl + mouseScrool + */ + ctrlZoom, + /** + * nodeMouseClick value + */ + edit, + /** + * nodeMouseClick and nodeMouseDbClick value + */ + details, + /** + * nodeMouseClick and nodeMouseDbClick value + */ + expandCollapse, + /** + * nodeMouseClick, nodeMouseDbClick and mouseScrool value + */ + none, + update, + centerNode, + pan + } + enum scroll { + visible, + } + + enum match { + height, + width, + boundary + } + + enum anim { + inPow, + outPow, + inOutPow, + inSin, + outSin, + inOutSin, + inExp, + outExp, + inOutExp, + inCirc, + outCirc, + inOutCirc, + rebound, + inBack, + outBack, + inOutBack + } + + interface Loc { + ppdfCmdTitle: string; + ppdfSave: string; + ppdfCancel: string; + ppdfFormat: string; + ppdfFitToDrwaing: string; + ppdfA4: string; + ppdfA3: string; + ppdfA2: string; + ppdfA1: string; + ppdfLetter: string; + ppdfLegal: string; + ppdfLayout: string; + ppdfPortrait: string; + ppdfLandscape: string; + ppdfFittopagewidth: string; + ppdfMargin: string; + ppdfHeader: string; + ppdfFooter: string; + ppdfScale: string; + } + + const templates: any; + + const icon: any; + + const none: any; + + const CENTER: any; + const ORIENTATION: any; + + const COLLAPSE: any; + const EXPAND: any; + + const COLLAPSE_PARENT_NEIGHBORS: any; + const COLLAPSE_SUB_CHILDRENS: any; + + const normal: any; + const mixed: any; + const tree: any; + const treeLeftOffset: any; + const treeRightOffset: any; + + const slinkTemplates: any; + + const menuUI: any; + + const _guid: Function; + const randomId: Function; + + var MINIMIZE: string; + var MAXIMIZE: string; + + const state: State; + + const events: any; + + const wrapText: Function; + + const nodeMenu: any; + const toolbarUI: any; + const nodeMenuUi: any; + const pdfPrevUI: any; + const menuUi: any; + const editUi: any; + + var SEARCH_PLACEHOLDER: string; + + const RES: any; + + const loc: Loc; +} + +interface State { + clear: Function; +} + +interface Node { + id: string | number, + pid: string | number, + spid: string | number, + tags: Array , + [name: string]: any +} + + + +interface NodeModel { + id: string | number, + pid: string | number, + ppid: string | number, + parent: NodeModel, + stpid: string | number, + stParent: NodeModel, + isPartner: boolean, + partnerSeparation: number, + childrenIds: Array, + children: Array, + stChildrenIds: Array, + stChildren: Array, + tags: Array, + templateName: string, + leftNeighbor: NodeModel, + rightNeighbor: NodeModel, + x: number, + y: number, + w: number, + h: number, + isAssistant: boolean, + stContainerNodes: Array, + order: number, + collapsed: boolean, + level: number, + min: boolean, + subLevels: number, + padding: number, + lcn: string, + isSplit: boolean +} + +interface Menu { + add?: any, + edit?: any, + details?: any, + remove?: any, + svg?: any, + pdf?: any, + png?: any, + csv?: any, + addInGroup?: any, + addAsChild?: any, + [name: string]: any, +} + + +interface Tags { + [name: string]: Object, +} + +interface OrgChartOptions { + /** + * Lazy loading is technique that defers loading of non-critical nodes at page load time. Instead, these non-critical nodes are loaded at the moment of need. + * Default value: true + + Code example: + ``` + var chart = new OrgChart(document.getElementById("tree"), { + lazyLoading: true; + }); + ``` + */ + lazyLoading?: boolean, + /** + * Enables advanced search. + + Default value: true + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + enableSearch: true, + }); +``` + */ + enableSearch?: boolean, + /** + * Specifies the orientation of the OrgChart JS. could accept one of the following values: + +- OrgChart.orientation.top +- OrgChart.orientation.bottom +- OrgChart.orientation.right +- OrgChart.orientation.left +- OrgChart.orientation.top_left +- OrgChart.orientation.bottom_left +- OrgChart.orientation.right_top +- OrgChart.orientation.left_top +Default value: OrgChart.orientation.top + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + ... + orientation: OrgChart.orientation.bottom + }); + ``` + */ + orientation?: OrgChart.orientation, + /** + * mouseScrool can accept the following values: + + - OrgChart.action.zoom - will zoom in/out on mouse scroll + + - OrgChart.action.xScroll - left/right move of the chart on mouse scroll + + - OrgChart.action.yScroll - up/down move of the chart on mouse scroll + + - OrgChart.action.none - do nothing on mouse scroll + + Default value: OrgChart.action.zoom + + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + mouseScrool: OrgChart.action.zoom + }); +``` + */ + mouseScrool?: OrgChart.action, + /** + * Node binding in OrgChart JS maps node data to node template parameters. + +Code example: +``` + var chart = new OrgChart(document.getElementById("orgchart"), { + nodeBinding: { + field_0: "name" + }, + nodes: [ + { id: 1, name: "Amber McKenzie" }, + { id: 2, pid: 1, name: "Ava Field" }, + { id: 3, pid: 1, name: "Peter Stevens" } + ] + }); + ``` +In the example above the field name will be bount to field_0 from the template. + +Also you can define your own field in the templae, for more information go to Fields page on our website. + */ + nodeBinding?: Object, + /** + * With the drag and drop features of OrgChart, you can move nodes easily. + * Default value: true + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + enableDragDrop: true, + }); +``` + */ + enableDragDrop?: boolean, + enableTouch?: boolean, + /** + * Enables edit, add, remove and other node operations. Also you can define your own node operation for more information see Node Menu Item + + Default value: null + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + nodeMenu:{ + details: {text:"Details"}, + edit: {text:"Edit"}, + add: {text:"Add"}, + remove: {text:"Remove"} + }, + }); +``` + */ + nodeMenu?: Menu, + /** + * Context menu. Also you can define your own node operation for more information see Menu + +Default value: null + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + nodeContextMenu:{ + details: {text:"Details"}, + edit: {text:"Edit"}, + add: {text:"Add"}, + remove: {text:"Remove"} + }, + ... + }); + ``` + */ + nodeContextMenu?: Menu, + /** + * Use dragDropMenu with drag & drop and grouping feature. + + Default value: null + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + dragDropMenu: { + addInGroup: { text: "Add in group" }, + addAsChild: { text: "Add as child" } + }, + }); +``` + */ + dragDropMenu?: Menu, + /** + * Enables export to excel, export to svg and other OrgChart operations. Also you can define your own OrgChart operation for more information see OrgChart.ImportFormCSV + + Default value: null + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + menu: { + svg: { text: "Export SVG" }, + csv: { text: "Export CSV" } + }, + }); +``` + */ + menu?: Menu, + /** + * A toolbar is a set of icons or buttons. + +Default value: null + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + toolbar: { + layout: true, + zoom: true, + fit: true, + expandAll: false + }, + ... + }); +``` + */ + toolbar?: Object, + /** + * Stop the org chart locking to the top of the screen once you move it. + +Default value: true + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + sticky: false + ... + }); + ``` + */ + sticky?: boolean, + /** + * nodeMouseClick can accept the following values: + + - OrgChart.action.edit - will open the edit view for the clicked node on the right hand side + + - OrgChart.action.details - will open the details view for the clicked node on the right hand side, the details view is very similar to the edit view the only difference is that is read only. + + - OrgChart.action.expandCollapse - will expand or collapse the children nodes + + - OrgChart.action.none - do nothing on node click event + + Default value: OrgChart.action.details + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + nodeMouseClick: OrgChart.action.edit + }); +``` + */ + nodeMouseClick?: OrgChart.action, + + + + /** + * nodeMouseDbClick can accept the following values: + +- OrgChart.action.edit - will open the edit view for the clicked node on the right hand side +- OrgChart.action.details - will open the details view for the clicked node on the right hand side, the details view is very similar to the edit view the only difference is that is read only. +- OrgChart.action.expandCollapse - will expand or collapse the children nodes +- OrgChart.action.none - do nothing on node double click event + +Default value: OrgChart.none + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + nodeMouseDbClick: OrgChart.action.edit + ... + }); + ``` + */ + nodeMouseDbClick?: OrgChart.action, + /** + * showXScroll can accept the following values: + + - OrgChart.none + + - OrgChart.scroll.visible - Will display horisontal scroll bar + + Default value: OrgChart.none + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + showXScroll: OrgChart.scroll.visible + }); +``` + */ + showXScroll?: OrgChart.scroll, + /** + * + * showYScroll can accept the following values: + + - OrgChart.none + + - OrgChart.scroll.visible - Will display vertical scroll bar + + Default value: OrgChart.none + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + showYScroll: OrgChart.scroll.visible + }); +``` + */ + showYScroll?: OrgChart.scroll, + /** + Set template if you want to change the appearance of the chart. OrgChart JS comes with number of build-in templates: + + - ana + - ula + - olivia + - belinda + - rony + - mery + - polina + - mila + - diva + - luba + - derek + - base + - deborah + + Also you can define your own template. For more information see Creating Custom Template + + Default value: ana + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + template: "derek" + }); +``` + */ + template?: string, + /** + * With tags option you can: + + - Set specific template for tagged nodes + + - Set the default state (expand/collapse) for tagged nodes + + - Define a group for tagged nodes + + - Set node as assistant for tagged nodes + + - Set node menu items for tagged nodes + + + Set specific template for tagged nodes. See Multiple Templates in one chart for more details. + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + tags: { + Management: { + template: "rony" + } + }, + nodes: [ + { id: 1, tags: ["Management"] }, + ] + }); +``` + Set the default state (expand/collapse) for tagged nodes. See Expand/Collapse for more details. + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + tags: { + hide: { + state: OrgChart.COLLAPSE + } + }, + nodes: [ + { id: "1" }, + { id: "2", tags: ["hide"] }, + { id: "3" } + ] + }); +``` + + Define a group for tagged nodes. See Grouping for more details. + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + tags: { + HRs: { + group: true, + groupName: "HR Team", + groupState: OrgChart.EXPAND, + template: "group_grey" + } + }, + nodes: [ + { id: 1, tags: ["HRs"] } + ] + }); +``` + Set node as assistant for tagged nodes. See Assistant for more details. + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + tags: { + assistant: { + template: "mery" + } + }, + nodes: [ + { id: 1, tags: ["assistant"] } + ] + }); +``` + + Set node menu items for tagged nodes. See Node Menu Item for more details. + + Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + tags: + customMenuItems: { + nodeMenu: { + add: { text: "Add New" } + } + } + }, + }); +``` + */ + tags?: Tags, + /** + * Link binding in OrgChart JS maps node data to link template parameters. + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + linkBinding: { + link_field_0: "createdAt" + }, + nodes: [ + { id: "1", name: "Amber McKenzie" }, + { id: "2", pid: "1", createdAt: "Since 08/08/2018" }, + { id: "3", pid: "1", createdAt: "Since 05/04/2018" } + ] + }); +``` + */ + linkBinding?: Object, + /** + * Search by the fields defined in searchFields. + +Default value: Empty array + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + searchFields: ["name", "title", etc...], + ... + }); + ``` + */ + searchFields?: Array, + /** + * Array of node data JSON objects. nodes option is the data source of the chart. + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + ... + nodes: [ + { id: "1" }, + { id: "2", pid: "1" }, + { id: "3", pid: "1", tags: ["Sales"] } + ] + }); + ``` +Node JSON objects could have unlimited number of properties, id, pid and tags are reserved node properties. + +- id - unique identifier, it clould be integer or string +- pid - is the parent id +- tags - array of strings + + */ + nodes?: Array, + /** + * Add C link. + +Default value: null + +Code example: +``` + var chart = new OrgChart(document.getElementById('tree'), { + clinks: [ + {from: 4, to: 0, label: 'text'}, + {from: 4, to: 5, template: 'blue', label: '4 reports to 5' }, + {from: 2, to: 6, template: 'yellow', label: 'lorem ipsum' }, + ] + ... + }); + ``` + */ + clinks?: Array, + /** + * Add S link. + +Default value: null + +Code example: +``` + var chart = new OrgChart(document.getElementById('tree'), { + slinks: [ + {from: 4, to: 0, label: 'text'}, + {from: 4, to: 5, template: 'blue', label: 'reports to' }, + {from: 2, to: 6, template: 'yellow', label: 'lorem ipsum' }, + ] + ... + }); + ``` + */ + slinks?: Array, + /** + * The gap between each level. + +Default value: 60 + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + ... + levelSeparation: 50 + }); + ``` + */ + levelSeparation?: number, + /** + * The gap between nodes in a subtree. + +Default value: 20 + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + ... + siblingSeparation: 50 + }); + ``` + */ + siblingSeparation?: number, + /** + * The gap between subtrees. + +Default value: 40 + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + ... + subtreeSeparation: 50 + }); + ``` + */ + subtreeSeparation?: number, + /** + * The gap between nodes in vertical layout. + +Default value: 20 + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + ... + mixedHierarchyNodesSeparation: 5 + }); + ``` + */ + mixedHierarchyNodesSeparation?: number, + /** + * The padding option sets the padding area on all four sides of the OrgChart. + +Default value: 30 + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + ... + padding: 20 + }); + ``` + */ + padding?: number, + /** + * The layout of the OrgChart + +- OrgChart.normal +- OrgChart.mixed +- OrgChart.tree +- OrgChart.treeLeftOffset +- OrgChart.treeRightOffset +Default value: OrgChart.normal + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + ... + layout: OrgChart.mixed + }); + ``` + */ + layout?: OrgChart, + /** + * The scale factor determines what fraction of the entire scale is visible at one time. + +- OrgChart.match.height +- OrgChart.match.width +- OrgChart.match.boundary +- [float] + +Default value: 1 + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + ... + scaleInitial: 0.5 + }); + ``` + For more information go to Layout page on our website. + */ + scaleInitial?: OrgChart.match | number, + /** + * Determines the minimum scale factor. + +Default value: 0.1 + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + ... + scaleMin: 0.2 + }); + ``` + */ + scaleMin?: number, + /** + * Determines the naximum scale factor. + +Default value: 5 + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + ... + scaleMax: 10 + }); + ``` + */ + scaleMax?: number, + /** + * The orderBy option is used to sort the nodes in ascending order by specified field. The default order is by nodes order in the nodes array. + +Default value: null + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + ... + orderBy: "orderId", + nodes: [ + ... + { id: 10, pid: 1, orderId: 2 }, + { id: 11, pid: 1, orderId: 1 } + ... + ] + }); +``` +In the example above node with id 11 will be before node with id 10. orderBy can be set to any property from the node JSON object, string or integer. + + + */ + orderBy?: string, + editUI?: Object, + searchUI?: Object, + xScrollUI?: Object, + yScrollUI?: Object, + nodeMenuUI?: Object, + nodeContextMenuUI?: Object, + toolbarUI?: Object, + notifierUI?: Object, + //dragDropMenuUI?: Object, // removed + menuUI?: Object, + /** + * The URL to the export server. + +Default value: https://balkan.app/export + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + exportUrl: "https://balkan.app/export", + ... + }); + ``` + */ + exportUrl?: string, + /** + * Collapse specified level of the chart and its children if allChildren is true. + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + collapse: { + level: 2, + allChildren: true + }, + ... + }); + ``` + */ + collapse?: Object, + /** + * Expand specified node ids and its children if allChildren is true. + +The expand option works only if collapse is set. + +In the example above the second level of the chart will be collapsed but node with id 155 and its children will be expanded. + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + collapse: { + level: 2, + allChildren: true + }, + expand:{ + nodes: [155], + allChildren: true + } + ... + }); + ``` + */ + expand?: Object, + /** + * The align option specifies the alignment of the nodes inside OrgChart JS. + +Default value: OrgChart.CENTER + +- OrgChart.CENTER - centered +- OrgChart.ORIENTATION - according to the orientation option + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + align: OrgChart.ORIENTATION, + ... + }); + ``` + */ + align?: OrgChart, + UI?: OrgChart, + /** + *Can be used to control the transition of the nodes on expand/collapse operation. + +Default value: func: OrgChart.anim.outPow, duration: 200 + +duration: defines how long time an animation should take to complete + +func: Easing functions specify the speed at which an animation progresses at different points within the animation. Can accept one of the following values: + +- OrgChart.anim.inPow +- OrgChart.anim.outPow +- OrgChart.anim.inOutPow +- OrgChart.anim.inSin +- OrgChart.anim.outSin +- OrgChart.anim.inOutSin +- OrgChart.anim.inExp +- OrgChart.anim.outExp +- OrgChart.anim.inOutExp +- OrgChart.anim.inCirc +- OrgChart.anim.outCirc +- OrgChart.anim.inOutCirc +- OrgChart.anim.rebound +- OrgChart.anim.inBack +- OrgChart.anim.outBack +- OrgChart.anim.inOutBack + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + anim: { + func: OrgChart.anim.outBack, + duration: 500 + }, + ... + }); + ``` + */ + anim?: Object, + /** + * Can be used to control the zooming sensitivity. + +Default value: speed: 120, smooth: 12 + +Code example: +``` + var chart = new OrgChart(document.getElementById("tree"), { + zoom: { + speed: 130, + smooth: 10 + }, + ... + }); + ``` + */ + zoom?: Object, + roots?: Array, + onUpdate?: string, + onRemove?: string, + onAdd?: string, + onRedraw?: string, + onImageUploaded?: string, + onClick?: string, + onDbClick?: string, + onExpCollClick?: string | Function, + onExportStart?: string | Function, + onExportEnd?: string | Function, + onSearchClick?: string | Function, + onReady?: string | Function, + assistantSeparation?: number, + columns?: number, + + state?: Object, + + minPartnerSeparation?: number, + partnerChildrenSplitSeparation?: number, + partnerNodeSeparation?: number, + miniMap?: boolean, + + searchFieldsWeight?: Object, + searchDisplayField?: String, + + enableKeyNavigation?: boolean, + nodeCircleMenu?: Object + +} + + + +declare class OrgChart { + nodes: Array; + nodeCircleMenuUI: any; + editUI: any; + menuUI: any; + nodeMenu: any; + nodeMenuUI: any; + toolbarUI: any; + nodeContextMenuUI: any; + config: any; + static searchUI: any; + _layoutConfigs: any; + + constructor(element: HTMLElement, options: OrgChartOptions); + + + /** + * Returns the node data for given node id + * + Signature: + ``` + chart.get(nodeId); + ``` + Code example: +``` + var node = chart.get(5); + ``` + * @param nodeId + + * Returns JSON data */ + + get(nodeId: string | number) : Node; + + /** + * Updates the node JSON object. + * + * Signature: + ``` + chart.updateNode(nodeJSONdata, callback, fireEvent); + ``` + * Parameters: + * @param nodeJSONdata - node json data + * @param callback - (optional) callback function cakked when the animation colpletes + * @param fireEvent - (optional) if it set to true the update event is called + * + * Code example: + ``` + chart.updateNode({ id: 4, pid: 2, name: "Updated Name", title: "Updated Title" }); + ``` + Will update the node with id 4 and will redraw the chart. + */ + + updateNode(nodeJSONdata: Object, callback?: Function, fireEvent?: boolean) : void; + + /** + * Updates the node JSON object. + * + * Signature: + ``` + chart.update(nodeJSONdata); + ``` + * + Parameters: + * @param nodeJSONdata - node json data + * + Code example: + ``` + chart.update({ id: 4, pid: 2, name: "Updated Name", title: "Updated Title" }); + ``` + Will find the node with id 4 but it will not redraw the chart, you can use this method when you need to update two or more nodes, then call the draw function. Returns the chart object. + */ + update(nodeJSONdata: Object) : Object; + + /** + * Removes specified node from nodes collection. + * + * Signature: + ``` + chart.removeNode(nodeId, callback, fireEvent); + ``` + * Parameters: + * @param nodeId - id of the node + * @param callback - (optional) callback function will be called at the end of animation + * @param fireEvent - (optional) indicates if the remove event will be called or not + * + * Code example: + ``` + chart.removeNode(5); + ``` + Will remove node with id 5 and will redraw the chart. + */ + + removeNode(nodeId: string | number, callback?: Function, fireEvent?: boolean): void; + + /** + *Removes specified node from nodes collection. + + Signature: + ``` + chart.remove(nodeId); + ``` + Parameters: + + * @param nodeId - id of the node + * + Code example: + ``` + chart.remove(5); + ``` + Will remove node with id 5 but it will not redraw the chart, you can use this method when you need to remove two ore more nodes, then call the draw function. Returns the chart object. + */ + remove(nodeId: string | number): Object; + + /** + * * Adds new node to the nodes collection. + * + * Signature: + ``` + chart.addNode(nodeJSONdata, callback, fireEvent); + ``` + * + Parameters: + * @param nodeJSONdata - node JSON data + * @param callback - (optional) callback function will be called at the end of animation + * @param fireEvent - (optional) indicates if the add event will be called or not + * + * Code example: + ``` + chart.addNode({ id: 4, pid: 2, name: "Name 1", title: "Title 1" }); + ``` + */ + + addNode(nodeJSONdata: Object, callback?: Function, fireEvent?: boolean): void; + + /** + * Adds new node to the nodes collection. + + Signature: + ``` + chart.add(nodeJSONdata); + ``` + Parameters: + + * @param nodeJSONdata - node JSON data + * + Code example: + ``` + chart.add({ id: 4, pid: 2, name: "Name 1", title: "Title 1" }); + ``` + Will add new node but it will not redraw the chart, you can use this method when you need add two or more nodes, then call the draw function. Returns the chart object. + */ + add(nodeJSONdata: Object) : Object; + + /** + * Adds a link between two nodes. + +Signature: +``` + chart.link(fromNodeId, toNodeId); + ``` + +Parameters: + +- fromNodeId - the id of the child node +- toNodeId - the id of the parent node + +Code example: +``` + chart.link(5, 6); +``` +It will create a link from node 5 to node 6. + * @param fromNodeId + * @param toNodeId + */ + link(fromNodeId: string | number, toNodeId: string | number): void; + + /** + * Adds a link between two nodes. + +Signature: +``` + chart.linkNode(fromNodeId, toNodeId); + ``` +Parameters: + +- fromNodeId - the id of the child node +- toNodeId - the id of the parent node + +Code example: +``` + chart.linkNode(5, 6); + ``` +It will create a link from node 5 to node 6 and will redraw the chart. + * @param fromNodeId + * @param toNodeId + */ + linkNode(fromNodeId: string | number, toNodeId: string | number) : void; + + /** + * Center specified node on the screen. + +Signature: +``` + chart.center(nodeId, options, callback); + ``` +Parameters: + +- nodeId - the id of the node +- options - { parentState: OrgChart.COLLAPSE_PARENT_NEIGHBORS, childrenState: OrgChart.COLLAPSE_SUB_CHILDRENS, rippleId: rippleId, vertical: false, horizontal: false }); +- callback - callback function (optional) + +Code example: +``` + chart.center(5, { + parentState: OrgChart.COLLAPSE_PARENT_NEIGHBORS, + childrenState: OrgChart.COLLAPSE_SUB_CHILDRENS, + rippleId: 1, + vertical: true, + horizontal: false + });); + ``` + * @param nodeId + * @param options + * @param callback + */ + center(nodeId: string | number, options: Object, callback?: Function ) : void; + + /** + * Animate specified node with ripple animation - highlight the node. + +Signature: +``` + chart.ripple(nodeId); +``` +Parameters: + +- nodeId - the id of the node + +Code example: +``` + chart.ripple(5); +``` + * @param nodeId + */ + ripple(nodeId: string | number) : void; + + /** + * Gets the current scale of the chart. + +Signature: +``` + chart.getScale(); + ``` +Code example: +``` + var scale = chart.getScale(); + ``` + */ + getScale() : number; + + /** + * Zoom out or zoom in the chart. + +Signature: +``` + chart.zoom(delta, center, anim, callback); + ``` +Parameters: + +- delta - True for zoom in, false for zoom out or scale number, if scale is > 1 it will zoom in and scale < 1 zoom out. +- center - Array [x, y], where x is x percantege from the width and y is y percentage from the height. (optional) +- anim - true, false (optional) +- callback - callback frunction (optional) + +Code example: +``` + chart.zoom(2, [20,20]); + ``` + * @param delta + * @param center + * @param [anim] + * @param callback + */ + zoom(delta: boolean | number, center: Array, anim? : boolean, callback?: Function) : void; + + /** + * Exports the chart to svg file. + +Signature: +``` + chart.exportSVG(options, callback); + ``` + +Code example: +``` + chart.exportSVG({ + filename: "MyOrgChart.svg", + nodeId: 5, + openInNewTab: false, + expandChildren: true, + padding: 10 + }); + ``` + Parameters: + * @param options - export options + * @param callback - (optional) calls when the export completes + */ + + exportSVG(options: Object, callback?: Function) : void; + + /** + * Exports the chart to png file. + +Signature: +``` + chart.exportPNG(options, callback); + + ``` +Parameters: + + * @param options - export options + * @param callback - (optional) calls when the export completes + +Code example: +``` + chart.exportPNG({ + filename: "MyOrgChart.png", + nodeId: 5, + openInNewTab: false, + expandChildren: true, + margin: [10,20,10,20], + padding: 10 + }); + ``` + */ + exportPNG(options: Object, callback?: Function) : void; + + /** + * Exports the chart to pdf file. + +Signature: +``` + chart.exportPDF(options, callback); + ``` +Parameters: + + * @param options - export options + * @param callback - (optional) calls when the export completes + +Code example: +``` + chart.exportPDF({ + landscape: true, //false + format: "A4", //fit + filename: "MyOrgChart.pdf", + nodeId: 5, + openInNewTab: false, + expandChildren: true, + margin: [10,20,10,20], + padding: 10, + header: 'My header', + footer: 'Page {current-page} of {total-pages}', + scale: 'fit' //100 + }); + ``` + + */ + exportPDF(options: Object, callback?: Function) : void; + + /** + * Exports the chart to CSV file. + +Signature: +``` + chart.exportCSV(filename); + ``` +Parameters: + + * @param filename - optional + + +Code example: +``` + chart.exportCSV("MyOrgChart.svg"); + ``` + + */ + exportCSV(filename?: String) : void; + + /** + * Exports the chart to XML file. + +Signature: +``` + chart.exportXML(filename); + ``` +Parameters: + +- filename - the name of the file + +Code example: +``` + chart.exportXML("MyOrgChart.svg"); + ``` + * @param filename + */ + exportXML(filename: string) : void; + + /** + * Import CSV file. + +Signature: +``` + chart.importCSV(); + ``` +Code example: +``` + chart.importCSV(); + ``` + */ + importCSV() : void; + + /** + * Import XML file. + +Signature: +``` + chart.importXML(); + ``` +Code example: +``` + chart.importXML(); + ``` + */ + importXML() : void; + + /** + * Draws the chart. + +Signature: +``` + chart.draw(action, actionParams, callback); + ``` +Parameters: + +- * @param action - (optional) OrgChart.action.expandCollapse, OrgChart.action.update and OrgChart.action.centerNode +- * @param actionParams - (optional) parameters of the action +- * @param callback - (optional) called after the draw + +Code example: +``` + chart.draw(); + ``` + + */ + draw(action? : OrgChart.action, actionParams?: Object, callback?: Function) : void; + + /** + * Expand specified nodes. + +Signature: +``` + chart.expand(id, ids, callback); + ``` +Parameters: + +- id - the id of the node that will not move +- ids - node ids that will be expanded +- callback - (optional) called after the animation completes + +Code example: +``` + chart.expand(5, [155]); + ``` + * @param id + * @param ids + * @param [callback] + */ + expand(id: string | number, ids: Array, callback?: Function) : void; + + /** + * Collapse specified nodes. + +Signature: +``` + chart.collapse(id, ids, callback); + ``` +Parameters: + +- id - the id of the node that will not move +- ids - node ids that will be collapsed +- callback - (optional) called after the animation completes + +Code example: +``` + chart.collapse(5, [155]); + ``` + * @param id + * @param ids + * @param [callback] + */ + collapse(id: string | number, ids: Array, callback?: Function) : void; + + /** + * Fits the content to the visible area. + +Signature: +``` + chart.fit(); + ``` +Code example: +``` + chart.fit(); + ``` + */ + fit(): void; + + /** + * Finds node from the nodes collection. + +Signature: +``` + chart.find(value); + ``` +Parameters: + +- value - search by definded value + +Code example: +``` + chart.find("John"); + ``` + * @param value + */ + find(value: string | number) : void; + + /** + * Load nodes. + +Signature: +``` + chart.load(nodesJsonArray); + ``` +Code example: +``` + chart.load([{id: 1}]); + ``` + * @param jsonArray + */ + load(jsonArray: Array) : void; + + /** + *Load nodes from xml. + +Signature: +``` + chart.loadXML(xmlAsText); + ``` +Code example: +``` + chart.loadXML(''); + ``` + * @param xmlAsText + */ + loadXML(xmlAsText: string) : void; + + /** + * Gets nodes as xml. + +Signature: +``` + + chart.getXML(); + +Code example: + + + var xml = chart.getXML(); + + * @returns xml + */ + getXML() : string; + + /** + * Adds clink. + +Signature: +``` + chart.addClink(fromId, toId, label, template); + ``` +Code example: +``` + chart.addClink(5, 1, 'lorem ipsum', 'blue'); + ``` + Predefined templates: + - orange + - blue + - yellow + * @param fromId + * @param toId + * @param label + * @param template + */ + addClink(fromId: string | number, toId: string | number, label?: string, template?: string) : void; + + /** + * Removes clink. + +Signature: +``` + chart.removeClink(fromId, toId); + ``` +Code example: +``` + chart.removeClink(5, 1); + ``` + * @param fromId + * @param toId + */ + removeClink(fromId: string | number, toId: string | Number): void; + + /** + * Expand/Collapse to level. + +Signature: +``` + chart.expandCollapseToLevel(id, collapse, expand, callback); + ``` +Code example: +``` + chart.expandCollapseToLevel({ + level: 2 + }, { + nodes: [155] + }, function(){ + console.log('callback') + }); + ``` + * @param id + * @param collapse + * @param expand + * @param callback + */ + expandCollapseToLevel(id: string | number, collapse: Object, expand: Object, callback: Function) : void; // How works this one ? + + + /** + * Destroys the object. + +Signature: +``` + chart.destroy(); + ``` + */ + destroy(): void; + + /** + * Adds slink. + +Signature: +``` + chart.addSlink(fromId, toId, label, template); + ``` +Code example: +``` + chart.addSlink(5, 1, 'lorem ipsum', 'blue'); + ``` + * @param fromId + * @param toId + * @param label + * @param template + */ + addSlink(fromId: string | number, toId: string | number, label: string, template: string) : void; + + + /** + * Removes slink. + +Signature: +``` + chart.removeSlink(fromId, toId); + ``` +Code example: +``` + chart.removeSlink(5, 1); + ``` + * @param fromId + * @param toId + */ + removeSlink(fromId: string | number, toId: string | number) : void; + + on(action: string, fun: Function): void; + + getNode(id: string | number): NodeModel; + + /** + * Maximize the node. + * + Signature: + * ``` + * chart.maximize(id, horizontalCenter, verticalCenter, callback); + * ``` + * @param id - the id of the node + * @param horizontalCenter - (optional) center horizontally (true,false) + * @param verticalCenter - (optional) center vertically (true,false) + * @param callback - (optional) callback function is called when the animation completes + * + Code example: + * ``` + * chart.maximize(5); + * ``` + */ + maximize(id: string | number, horizontalCenter?: boolean, verticalCenter?: boolean, callback?: Function) : void; + + /** + * Minimize the node. + * + Signature: + * ``` + * chart.minimize(id, callback); + * ``` + * @param id - the id of the node + * @param callback - (optional) callback function is called when the animation completes + * + Code example: + * ``` + * chart.minimize(5); + * ``` + */ + minimize(id: string | number, callback?: Function) : void; + + /** + * Set orientation. + * + * Signature: + * ``` + * chart.setOrientation(orientation, lyoutConfigName); + * ``` + * + * Parameters: + * @param orientation - orientation type, OrgChart.orientation.top, OrgChart.orientation.bottom, OrgChart.orientation.right, OrgChart.orientation.left, OrgChart.orientation.top_left, OrgChart.orientation.bottom_left, OrgChart.orientation.right_top and OrgChart.orientation.left_top + * @param lyoutConfigName - (optional) lyout config name for the specified sub tree + * + Code example: + ``` + chart.setOrientation(OrgChart.orientation.bottom); + ``` + */ + setOrientation(orientation: OrgChart.orientation, lyoutConfigName?: string) : void; + + /** + * Set layout. + * + * Signature: + * ``` + * chart.setLayout(layout, lyoutConfigName); + * ``` + * Parameters: + * @param layout - layout type, OrgChart.normal, OrgChart.mixed, OrgChart.tree, OrgChart.treeLeftOffset and OrgChart.treeRightOffset + * @param lyoutConfigName - (optional) lyout config name for the specified sub tree + * + * Code example: + * ``` + * chart.setLayout(OrgChart.tree); + * ``` + */ + setLayout(layout: OrgChart, lyoutConfigName?: string) : void; + + /** + * Magnify node. + * + * Signature: + * ``` + * chart.magnify(id, scale, front, anim, callback); + * ``` + * Parameters: + * @param id - the node id we want to highlight or magnify + * @param scale - scale of the magnified node + * @param front - (optional) true or false, display magnified node in front of other nodes if it is true + * @param anim - (optional) animation effect for the magnified node, if not set the default is chart.config.anim + * @param callback - (optional) callback function before the animation start + * + * + * Code example: + * ``` + * chart.magnify(id, 1.04, false, null); + * ``` + */ + + magnify(id: string | number, scale: number, front?: boolean, anim?: Object, callback?: Function ) : void; + + /** + * Magnify back node. + * + * Signature: + * ``` + * chart.chart.magnifyBack(id, anim, callback); + * ``` + * Parameters: + * @param id - is the node id we want to highlight or magnify + * @param anim - (optional) animation effect for the magnified node, if not set the default is chart.config.anim + * @param callback - (optional) callback function after the animation ends + * + * + * Code example: + * ``` + * chart.magnifyBack(id, { func: OrgChart.anim.inSin, duration: 200}); + * ``` + */ + + magnifyBack(id: string | number, anim?: Object, callback?: Function) : void; + + /** + * State to url. + * + * Signature: + * ``` + * chart.stateToUrl(); + * ``` + * Code example: + * ``` + * chart.stateToUrl(); + * ``` + */ + stateToUrl() : String; + + /** + * Expand and collapse nodes. + * + * Signature: + * ``` + * chart.expandCollapse(id, expandIds, collapseIds); + * ``` + * Parameters: + * @param id - fixed node + * @param expandIds - array of expanding ids + * @param collapseIds - array of collapsing ids + * + * + * Code example: + * ``` + * chart.expandCollapse(5, [6, 7], [8, 9]); + * ``` + */ + + expandCollapse(id: string | number, expandIds: Array, collapseIds: Array) : void; + + /** + * Search in the chart. + * + * Signature: + * ``` + * chart.search(value, searchInFileds, retrieveFields); + * ``` + * Parameters: + * @param value - value to search for + * @param searchInFileds - array of fields to search in + * @param retrieveFields - array of returned fields + * + * + * Code example: + * ``` + * chart.search("c", ["Name", "Title"], ["Title"]); + * ``` + */ + + search(value: string | number, searchInFileds: Array, retrieveFields: Array) : void; + + /** + * Returns the node DOM element. + * + * Signature: + * ``` + * chart.getNodeElement(id); + * ``` + * Parameters: + * @param id - id of the node + * + * + * Code example: + * ``` + * chart.getNodeElement(5); + * ``` + */ + + getNodeElement(id: string | number) : void; + + generateId() : string | number; + + changeRoots(id: null | string | number, roots: Array, callback?: Function ) : void; +} \ No newline at end of file diff --git a/OrgChartJS/orgchart.js b/OrgChartJS/orgchart.js new file mode 100644 index 00000000..939de6c9 --- /dev/null +++ b/OrgChartJS/orgchart.js @@ -0,0 +1,2 @@ + /// + var OrgChart=function(t,e){var r=this;if(this.element=t,this.config=OrgChart._defaultConfig(),e)for(var i in this.config)"object"!=typeof e[i]||Array.isArray(e[i])?void 0!==e[i]&&(this.config[i]=e[i]):this.config[i]=OrgChart._mergeObject(this.config[i],e[i]);if(this._layoutConfigs={base:{orientation:this.config.orientation,levelSeparation:this.config.levelSeparation,mixedHierarchyNodesSeparation:this.config.mixedHierarchyNodesSeparation,assistantSeparation:this.config.assistantSeparation,subtreeSeparation:this.config.subtreeSeparation,siblingSeparation:this.config.siblingSeparation,layout:this.config.layout,columns:this.config.columns,collapse:this.config.collapse,partnerNodeSeparation:this.config.partnerNodeSeparation}},this.config.tags)for(var a in this.config.tags){var n=this.config.tags[a];null!=n.subTreeConfig&&(this._layoutConfigs[a]={orientation:null!=n.subTreeConfig.orientation?n.subTreeConfig.orientation:this.config.orientation,levelSeparation:null!=n.subTreeConfig.levelSeparation?n.subTreeConfig.levelSeparation:this.config.levelSeparation,mixedHierarchyNodesSeparation:null!=n.subTreeConfig.mixedHierarchyNodesSeparation?n.subTreeConfig.mixedHierarchyNodesSeparation:this.config.mixedHierarchyNodesSeparation,assistantSeparation:null!=n.subTreeConfig.assistantSeparation?n.subTreeConfig.assistantSeparation:this.config.assistantSeparation,subtreeSeparation:null!=n.subTreeConfig.subtreeSeparation?n.subTreeConfig.subtreeSeparation:this.config.subtreeSeparation,siblingSeparation:null!=n.subTreeConfig.siblingSeparation?n.subTreeConfig.siblingSeparation:this.config.siblingSeparation,layout:null!=n.subTreeConfig.layout?n.subTreeConfig.layout:this.config.layout,columns:null!=n.subTreeConfig.columns?n.subTreeConfig.columns:this.config.columns,collapse:null!=n.subTreeConfig.collapse?n.subTreeConfig.collapse:this.config.collapse,partnerNodeSeparation:null!=n.subTreeConfig.partnerNodeSeparation?n.subTreeConfig.partnerNodeSeparation:this.config.partnerNodeSeparation})}if(this._event_id=OrgChart._guid(),!this.config.searchFields.length&&this.config.nodeBinding)for(var o in this.config.nodeBinding)-1==o.indexOf("img")&&"function"!=typeof this.config.nodeBinding[o]&&this.config.searchFields.push(this.config.nodeBinding[o]);OrgChart._validateConfig(this.config)&&(this._vScroll={},this.config.ui||(this.ui=OrgChart.ui),this.config.editUI?this.editUI=this.config.editUI:this.editUI=new OrgChart.editUI,this.editUI.init(this),this.manager=new OrgChart.manager(this.config,this._layoutConfigs),this.config.searchUI?this.searchUI=this.config.searchUI:this.searchUI=new OrgChart.searchUI,this.searchUI.init(this),this.config.nodeMenuUI?this.nodeMenuUI=this.config.nodeMenuUI:this.nodeMenuUI=new OrgChart.menuUI,this.nodeMenuUI.init(this,this.config.nodeMenu),this.config.nodeCircleMenuUI?this.nodeCircleMenuUI=this.config.nodeCircleMenuUI:this.nodeCircleMenuUI=new OrgChart.circleMenuUI,this.nodeCircleMenuUI.init(this,this.config.nodeCircleMenu),this.config.nodeContextMenuUI?this.nodeContextMenuUI=this.config.nodeContextMenuUI:this.nodeContextMenuUI=new OrgChart.menuUI,this.nodeContextMenuUI.init(this,this.config.nodeContextMenu),this.config.toolbarUI?this.toolbarUI=this.config.toolbarUI:this.toolbarUI=new OrgChart.toolbarUI,this.config.notifierUI?this.notifierUI=this.config.notifierUI:this.notifierUI=new OrgChart.notifierUI,this.notifierUI.init(this),this.config.menuUI?this.menuUI=this.config.menuUI:this.menuUI=new OrgChart.menuUI,this.menuUI.init(this,this.config.menu),this.config.xScrollUI||(this.xScrollUI=new OrgChart.xScrollUI(this.element,this.config,function(){return{boundary:r.response.boundary,scale:r.getScale(),viewBox:r.getViewBox(),padding:r.config.padding}},function(t){r.setViewBox(t)},function(){r._draw(!0,OrgChart.action.xScroll)})),this.config.yScrollUI||(this.yScrollUI=new OrgChart.yScrollUI(this.element,this.config,function(){return{boundary:r.response.boundary,scale:r.getScale(),viewBox:r.getViewBox(),padding:r.config.padding}},function(t){r.setViewBox(t)},function(){r._draw(!0,OrgChart.action.xScroll)})),this._gragStartedId=null,this._timeout=null,this._touch=null,this._initialized=!1,this._moveInterval=null,this._movePosition=null,this.response=null,this.nodes=null,this._setInitialSizeIfNotSet(),0OrgChart.TEXT_THRESHOLD)for(var r=0;rOrgChart.IMAGES_THRESHOLD)for(r=0;rOrgChart.LINKS_THRESHOLD)for(r=0;rOrgChart.BUTTONS_THRESHOLD)for(r=0;rOrgChart.BUTTONS_THRESHOLD)for(r=0;r",OrgChart.linkOpenTag="',OrgChart.expcollOpenTag="',OrgChart.upOpenTag="',OrgChart.linkFieldsOpenTag='',OrgChart.grCloseTag="",OrgChart.IT_IS_LONELY_HERE='{link}',OrgChart.RES={},OrgChart.RES.IT_IS_LONELY_HERE_LINK="It's lonely here, add your first node",OrgChart.FIRE_DRAG_NOT_CLICK_IF_MOVE=3,OrgChart.STRING_TAGS=!1,OrgChart.MAX_NODES_MESS="The trial has expired or 200 nodes limit was reached!
See more",OrgChart.OFFLINE_MESS="The evaluation version requires internet connection!
See more",OrgChart.SEARCH_PLACEHOLDER="Search",OrgChart.IMPORT_MESSAGE="Choose the columns (fields) in your data file that contain the required information.",OrgChart.FIXED_POSITION_ON_CLICK=!1,OrgChart.ADD_NEW_FIELD="Add new field",OrgChart.ASSISTANT="Assistant",OrgChart.A4w=595,OrgChart.A4h=842,OrgChart.A3w=842,OrgChart.A3h=1191,OrgChart.A2w=1191,OrgChart.A2h=1684,OrgChart.A1w=1684,OrgChart.A1h=2384,OrgChart.Letterw=612,OrgChart.Letterh=791,OrgChart.Legalw=612,OrgChart.Legalh=1009,OrgChart.LINK_ROUNDED_CORNERS=8,OrgChart.MOVE_STEP=5,OrgChart.MOVE_INTERVAL=25,OrgChart.MIXED_LAYOUT_ALL_NODES=!0,OrgChart.MIXED_LAYOUT_FOR_NODES_WITH_COLLAPSED_CHILDREN=!1,OrgChart.CLINK_CURVE=1,OrgChart.SEARCH_RESULT_LIMIT=10,"undefined"!=typeof module&&(module.exports=OrgChart),OrgChart.input=function(t,e,r,i,a,n){null==i&&(i=!1);var o=document.createElement("div"),l=document.createElement("div"),s=document.createElement("input"),h=document.createElement("hr"),d=document.createElement("button");if(d.innerHTML="Upload",d.style.position="absolute",d.style.right=0,o.style.margin="14px 14px 7px 14px",o.style.textAlign="left",o.style.position="relative",o.setAttribute(OrgChart.attr.field_name,t),h.style.border="1px solid #d7d7d7",h.style.backgroundColor="#d7d7d7",h.style.display="block",h.style.width="100%",l.style.color="#bcbcbc",s.style.border="none",s.style.outline="none",s.style.width="100%",s.setAttribute(OrgChart.attr.val,""),a&&(s.style.width="80%"),s.style.fontSize="16px",s.readOnly=i,null!=e&&null!=e&&(s.value=e),null!=r&&null!=r&&(s.placeholder=r),null!=t&&null!=t&&(l.innerHTML=t),l.setAttribute(OrgChart.attr.lbl,""),s.style.color="#7a7a7a",i||s.addEventListener("focus",function(){var t=this.parentNode.getElementsByTagName("hr")[0];t.style.border="1px solid #039BE5",OrgChart.anim(t,{width:10},{width:o.clientWidth},250,OrgChart.anim.inOutSin)}),d.addEventListener("click",function(){var e=this,t=document.createElement("INPUT");t.setAttribute("type","file"),t.style.display="none",t.onchange=function(){var t=this.files[0];OrgChart.events.publish("imageuploaded",[n,t,e.parentNode.querySelector("input")])},document.body.appendChild(t),t.click()}),s.addEventListener("blur",function(){this.parentNode.getElementsByTagName("hr")[0].style.border="1px solid #d7d7d7"}),o.appendChild(l),o.appendChild(s),a&&o.appendChild(d),o.appendChild(h),OrgChart.addValidation){var c={wrapper:o,label:l,input:s,hr:h};OrgChart.addValidation(t,e,c)}return o},OrgChart._intersects=function(t,e,r){var i=t.x-r.siblingSeparation/4,a=t.y,n=t.x+t.w+r.siblingSeparation/4,o=t.y;switch(r.orientation){case OrgChart.orientation.right:case OrgChart.orientation.right_top:case OrgChart.orientation.left:case OrgChart.orientation.left_top:i=t.x,a=t.y-r.siblingSeparation/4,n=t.x,o=t.y+t.h+r.siblingSeparation/4}var l,s,h,d=e.p,c=e.q,g=e.r,p=e.s;return 0!=(l=(n-i)*(p-c)-(g-d)*(o-a))&&(s=((a-o)*(g-i)+(n-i)*(p-a))/l,0<(h=((p-c)*(g-i)+(d-g)*(p-a))/l)&&h<1&&0',Object.assign(a.style,{cursor:"pointer",width:"34px",height:"34px",position:"absolute",top:"7px",right:"7px"}),Object.assign(n.style,{"overflow-x":"hidden","overflow-y":"auto"}),Object.assign(i.style,{"background-color":"#039BE5","min-height":"50px",textAlign:"center",position:"relative"}),Object.assign(o.style,{margin:"12px"}),this.wrapperElement.appendChild(e),e.appendChild(i),e.appendChild(n),n.appendChild(o),i.appendChild(a),OrgChart.htmlRipple(i);for(var l=this.fields,s=this.obj._get(t.id),h=0;h',this.wrapperElement.id="bgEditForm",Object.assign(a.style,{cursor:"pointer",width:"34px",height:"34px",position:"absolute",top:"7px",right:"7px"}),Object.assign(o.style,{"overflow-x":"hidden","overflow-y":"auto"}),Object.assign(r.style,{"background-color":"#039BE5","min-height":"50px",textAlign:"center",position:"relative"}),Object.assign(n.style,{margin:"14px 14px 7px",color:"#4285F4",cursor:"pointer"}),Object.assign(l.style,{margin:"14px 14px 7px",color:"rgb(188, 188, 188)"}),n.innerHTML=OrgChart.ADD_NEW_FIELD;var s=OrgChart._arrayContains(this.node.tags,"assistant")?"checked":"";l.setAttribute(OrgChart.attr.field_name,"isAssistant"),l.innerHTML='
'+OrgChart.ASSISTANT+'
',this.wrapperElement.appendChild(e),e.appendChild(r),e.appendChild(o),r.appendChild(a),OrgChart.htmlRipple(r);for(var h=this.fields,d=this.obj._get(t.id),c=0;c'+h+"  "+d+""}if(""!=r){if(this.wrapper=document.createElement("div"),Object.assign(this.wrapper.style,{opacity:0,"background-color":"#FFFEFF","box-shadow":"#DCDCDC 0px 1px 2px 0px",display:"inline-block",border:"1px solid #D7D7D7;border-radius:5px","z-index":1e3,position:"absolute","text-align":"left","user-select":"none"}),this.wrapper.className="chart-menu",this.wrapper.style.left="-99999px",this.wrapper.style.top="-99999px",this.wrapper.innerHTML=r,this.obj.element.appendChild(this.wrapper),null==e){var c=OrgChart._menuPosition(t,this.wrapper,this.obj.getSvg());t=c.x,e=c.y}var g=t+45;this.wrapper.style.left=g+"px",this.wrapper.style.top=e+"px",this.wrapper.style.left=g-this.wrapper.offsetWidth+"px";var p=t-this.wrapper.offsetWidth;OrgChart.anim(this.wrapper,{opacity:0,left:g-this.wrapper.offsetWidth},{opacity:1,left:p},300,OrgChart.anim.inOutPow);for(var f=this.wrapper.getElementsByTagName("div"),u=0;u',OrgChart.toolbarUI.fitIcon='',OrgChart.toolbarUI.openFullScreenIcon='',OrgChart.toolbarUI.closeFullScreenIcon='',OrgChart.toolbarUI.zoomInIcon='',OrgChart.toolbarUI.zoomOutIcon='',OrgChart.toolbarUI.layoutIcon="',OrgChart.toolbarUI.prototype.init=function(t,e){if(e){this.obj=t,this.toolbar=e,this._visible=!1,this.div=document.createElement("div"),this.div.classList.add("bg-toolbar-container"),Object.assign(this.div.style,{position:"absolute",padding:"3px",right:this.obj.config.padding+"px",bottom:this.obj.config.padding+"px"}),e.expandAll&&(this.div.innerHTML+="
'+OrgChart.toolbarUI.expandAllIcon+"
"),e.fit&&(this.div.innerHTML+="
'+OrgChart.toolbarUI.fitIcon+"
"),e.zoom&&(this.div.innerHTML+="
'+OrgChart.toolbarUI.zoomInIcon+"
",this.div.innerHTML+="
'+OrgChart.toolbarUI.zoomOutIcon+"
"),e.layout&&(this.div.innerHTML+="
'+OrgChart.toolbarUI.layoutIcon+"
",this.layouts=document.createElement("div"),this.layouts.innerHTML="',this.obj.element.appendChild(this.layouts),Object.assign(this.layouts.style,{position:"absolute",width:"100%",left:"0",bottom:"-145px","box-shadow":"0px 1px 4px rgba(0,0,0,0.3)","background-color":"#f9f9f9",height:"123px","padding-top":"20px","border-top":"1px solid #cacaca"})),e.fullScreen&&(this.div.innerHTML+="
'+OrgChart.toolbarUI.openFullScreenIcon+"
"),this.obj.element.appendChild(this.div),this.layoutBtn=this.div.querySelector("["+OrgChart.attr.tlbr+'="layout"]');var r=this.div.querySelector("["+OrgChart.attr.tlbr+'="plus"]'),i=this.div.querySelector("["+OrgChart.attr.tlbr+'="minus"]'),a=this.div.querySelector("["+OrgChart.attr.tlbr+'="fit"]'),n=this.div.querySelector("["+OrgChart.attr.tlbr+'="fullScreen"]'),o=this.div.querySelector("["+OrgChart.attr.tlbr+'="expand"]'),l=this;r&&r.addEventListener("click",function(){l.obj.zoom(!0,null,!0)}),i&&i.addEventListener("click",function(){l.obj.zoom(!1,null,!0)}),a&&a.addEventListener("click",function(){l.obj.fit()}),n&&n.addEventListener("click",function(){l.obj.toggleFullScreen()}),o&&o.addEventListener("click",function(){l.obj.expand(null,"all")}),this.layoutBtn&&this.layoutBtn.addEventListener("click",function(){l._visible?l.hideLayout():l.showLayout()}),this.layouts&&this.layouts.addEventListener("click",function(t){for(var e=t.target;e;){if(e.hasAttribute&&e.hasAttribute(OrgChart.attr.layout)){e=e.getAttribute(OrgChart.attr.layout),l.obj.setLayout(OrgChart[e]);break}e=e.parentNode}})}},OrgChart.toolbarUI.prototype.showLayout=function(){this._visible=!0,this.layoutBtn.style.transform="rotate(180deg) translateX(0px) translateY(0px)",OrgChart.anim(this.div,{bottom:this.obj.config.padding},{bottom:this.obj.config.padding+145},this.obj.config.anim.duration,this.obj.config.anim.func),OrgChart.anim(this.layouts,{bottom:-145},{bottom:0},this.obj.config.anim.duration,this.obj.config.anim.func)},OrgChart.toolbarUI.prototype.hideLayout=function(){this._visible=!1,this.layoutBtn.style.transform="rotate(0deg) translateX(0px) translateY(0px)",OrgChart.anim(this.div,{bottom:this.obj.config.padding+145},{bottom:this.obj.config.padding},this.obj.config.anim.duration,this.obj.config.anim.func),OrgChart.anim(this.layouts,{bottom:0},{bottom:-145},this.obj.config.anim.duration,this.obj.config.anim.func)},OrgChart.notifierUI=function(){},OrgChart.notifierUI.prototype.init=function(t){this.obj=t},OrgChart.notifierUI.prototype.show=function(t,e){if(null!=t){1==t&&(t=OrgChart.MAX_NODES_MESS,e="#FFCA28"),2==t&&(t=OrgChart.OFFLINE_MESS,e="#FFCA28");var r=document.createElement("div");r.innerHTML=t,Object.assign(r.style,{position:"absolute","background-color":e,color:"#ffffff",padding:"15px","border-radius":"40px",opacity:0,overflow:"hidden","white-space":"nowrap","text-align":"center"}),this.obj.element.appendChild(r);var i=this.obj.width()/2-r.offsetWidth/2,a=this.obj.height()/2-r.offsetHeight/2;r.style.left=i+"px",r.style.top=a+"px";var n=r.offsetWidth;r.style.width="20px",OrgChart.anim(r,{opacity:0,width:10},{opacity:1,width:n},this.obj.config.anim.duration,this.obj.config.anim.func)}},OrgChart.icon={},OrgChart.icon.png=function(t,e,r){return''},OrgChart.icon.pdf=function(t,e,r){return''},OrgChart.icon.svg=function(t,e,r){return''},OrgChart.icon.csv=function(t,e,r){return''},OrgChart.icon.excel=function(t,e,r){return''},OrgChart.icon.edit=function(t,e,r){return''},OrgChart.icon.details=function(t,e,r){return''},OrgChart.icon.remove=function(t,e,r){return''},OrgChart.icon.add=function(t,e,r){return''},OrgChart.icon.search=function(t,e,r){return''},OrgChart.icon.xml=function(t,e,r){return''},OrgChart.icon.link=function(t,e,r){return''},OrgChart.icon.happy=function(t,e,r){return''},OrgChart.icon.sad=function(t,e,r){return''},OrgChart.prototype.exportPDF=function(t,e){t=this._defaultExportOptions(t,"pdf"),this._export(t,e)},OrgChart.prototype.exportPNG=function(t,e){t=this._defaultExportOptions(t,"png"),this._export(t,e)},OrgChart.prototype.exportSVG=function(t,e){t=this._defaultExportOptions(t,"svg"),this._export(t,e)},OrgChart.prototype._defaultExportOptions=function(t,e){return null==t&&(t={}),"svg"==e?(t.ext="svg",t.mime="image/svg+xml"):"pdf"==e?(t.mime="application/pdf",t.ext="pdf"):"png"==e&&(t.mime="image/png",t.ext="png"),null==t.margin&&(t.margin=[50,40,50,40]),null==t.padding&&(t.padding=0),null==t.landscape&&(t.landscape=!1),null==t.filename&&(t.filename="OrgChart."+t.ext),null==t.scale&&(t.scale="fit"),null==t.format&&(t.format="fit"),null==t.header&&(t.header=""),null==t.footer&&(t.footer="Page {current-page} of {total-pages}"),null==t.openInNewTab&&(t.openInNewTab=!1),t},OrgChart.prototype._export=function(o,l){var s=this,t={id:o.nodeId,expandChildren:o.expandChildren};o.margin&&o.margin[0]<2&&(o.margin[0]=2),o.margin&&o.margin[1]<2&&(o.margin[1]=2),o.margin&&o.margin[2]<2&&(o.margin[2]=2),o.margin&&o.margin[3]<2&&(o.margin[3]=2),this._draw(!1,OrgChart.action.exporting,t,function(t){var r=document.createElement("div");if(r.innerHTML=t,0a[0]/10)return;if(l>a[1]/10)return}}else if(-1!=e.type.indexOf("touch")&&null==this._touch)return;for(var s=e.target;s!=t;){if(s.hasAttribute(OrgChart.attr.control_expcoll_id)){var h=s.getAttribute(OrgChart.attr.control_expcoll_id),d=this.getNode(h);return void this._expCollHandler(d.id)}if(s.hasAttribute(OrgChart.attr.node_id)){h=s.getAttribute(OrgChart.attr.node_id),d=this.getNode(h);return void this._nodeClickHandler(d.id,e)}if(s.hasAttribute(OrgChart.attr.control_node_menu_id)){e.stopPropagation(),e.preventDefault();h=s.getAttribute(OrgChart.attr.control_node_menu_id),d=this.getNode(h);return void this._nodeMenuClickHandler(d.id,s,e)}if(s.hasAttribute(OrgChart.attr.control_node_circle_menu_id)){e.stopPropagation(),e.preventDefault();h=s.getAttribute(OrgChart.attr.control_node_circle_menu_id);return void this._nodeCircleMenuClickHandler(h)}if(s.hasAttribute(OrgChart.attr.control_node_circle_menu_name))return e.stopPropagation(),e.preventDefault(),void this._nodeCircleMenuItemClickHandler(s,e);if(s.hasAttribute(OrgChart.attr.control_add))return void this._lonelyButtonHandler();if(s.hasAttribute(OrgChart.attr.control_up_id)){h=s.getAttribute(OrgChart.attr.control_up_id);return e.stopPropagation(),e.preventDefault(),void this._upHandler(h)}if(s.hasAttribute(OrgChart.attr.c_link_from))return void OrgChart.events.publish("clink-click",[this,{from:s.getAttribute(OrgChart.attr.c_link_from),to:s.getAttribute(OrgChart.attr.c_link_to),event:e}]);if(s.hasAttribute(OrgChart.attr.s_link_from))return void OrgChart.events.publish("slink-click",[this,{from:s.getAttribute(OrgChart.attr.s_link_from),to:s.getAttribute(OrgChart.attr.s_link_to),event:e}]);s=s.parentNode}},OrgChart.prototype._globalContextHandler=function(t,e){for(var r=e.target;r!=t;){if(r.hasAttribute(OrgChart.attr.node_id)){var i=r.getAttribute(OrgChart.attr.node_id),a=this.getNode(i);return void this._nodeContextHandler(a.id,e)}r=r.parentNode}},OrgChart.prototype._nodeContextHandler=function(t,e){e.preventDefault(),this.searchUI.hide(),this.nodeMenuUI.hide(),this.nodeContextMenuUI.hide(),this.menuUI.hide(),this.nodeCircleMenuUI.hide();var r=this.get(t),i=null;if(null!=r&&Array.isArray(r.tags))for(var a=0;aOrgChart.FIRE_DRAG_NOT_CLICK_IF_MOVE||Math.abs(e.y-S.y)>OrgChart.FIRE_DRAG_NOT_CLICK_IF_MOVE))!1===OrgChart.events.publish("drag",[v.nodeCircleMenuUI,{from:c,menuItem:x,menuItemName:y}])&&T(),O._dragEventFired=!0;I.setAttribute("transform","matrix("+A.toString()+")")}}},T=function(t){if(v.stopMove(),k.classList&&(k.classList.remove("cursor-grab"),k.classList.remove("cursor-move"),k.classList.remove("cursor-nodrop"),k.classList.remove("cursor-copy")),k.removeEventListener(r.move,n),k.removeEventListener(r.up,T),r.leave&&k.removeEventListener(r.leave,T),a.id==_||null==_)return k.removeChild(I),v._gragStartedId=null,void(O._dragEventFired&&OrgChart.events.publish("drop",[v.nodeCircleMenuUI,{from:a.id,menuItemName:y,menuItem:x}]));var e=v.getNode(_);OrgChart.events.publish("drop",[v.nodeCircleMenuUI,{from:a.id,to:e.id,menuItem:x,menuItemName:y}]),L(_,w),k.removeChild(I),v._gragStartedId=null};k.addEventListener(r.move,n),k.addEventListener(r.up,T),r.leave&&k.addEventListener(r.leave,T)}},OrgChart.prototype._nodeMouseDownHandler=function(O,t,i){if(this.config.enableDragDrop){var e=OrgChart._getClientXY(t),r=O.getAttribute(OrgChart.attr.node_id),y=this.getNode(r);O._dragEventFired=!1;var x=null,v=null;this._gragStartedId=r,document.body.style.mozUserSelect=document.body.style.webkitUserSelect=document.body.style.userSelect="none";var b=this,_=this.getSvg(),w={x:e.x,y:e.y},k=OrgChart._getTransform(O),S=k[4],I=k[5],A=b.getScale(),E=O.cloneNode(!0);_.insertBefore(E,_.firstChild),E.style.opacity=.7;var M=function(t,e){if(null!=t){e.classList.remove("drag-over");for(var r=b.getNode(x),i=OrgChart.getStParentNodes(r),a=0;aOrgChart.FIRE_DRAG_NOT_CLICK_IF_MOVE||Math.abs(e.y-w.y)>OrgChart.FIRE_DRAG_NOT_CLICK_IF_MOVE))!1===OrgChart.events.publish("drag",[b,c])&&N(),O._dragEventFired=!0;E.setAttribute("transform","matrix("+k.toString()+")")}}},N=function(t){if(b.stopMove(),_.classList&&(_.classList.remove("cursor-grab"),_.classList.remove("cursor-move"),_.classList.remove("cursor-nodrop"),_.classList.remove("cursor-copy")),_.removeEventListener(i.move,a),_.removeEventListener(i.up,N),i.leave&&_.removeEventListener(i.leave,N),y.id!=x&&null!=x){var e=b.getNode(x);if(!1===OrgChart.events.publish("drop",[b,y.id,e.id]))return M(x,v),_.removeChild(E),void(b._gragStartedId=null);if(b._canUpdateLink(y.id,x)){var r=b.get(y.id);r.pid=x,r.stpid=null,b.updateNode(r,null,!0)}else _.removeChild(E),M(x,v);b._gragStartedId=null}else{_.removeChild(E),b._gragStartedId=null;OrgChart._getClientXY(t);O._dragEventFired&&OrgChart.events.publish("drop",[b,y.id])}};_.addEventListener(i.move,a),_.addEventListener(i.up,N),i.leave&&_.addEventListener(i.leave,N)}},OrgChart.prototype._resizeHandler=function(t,e){var r=this.getViewBox(),i=this.getSvg(),a=i.getAttribute("width"),n=i.getAttribute("height"),o=a/r[2],l=n/r[3],s=l=OrgChart.SEARCH_RESULT_LIMIT);l++){var s=a[l],h="";if(n){var d=this.obj._get(s.id);"function"==typeof n?h=n(this.obj,this.obj.getNode(s.id),d):d[n]&&(h=d[n]),h&&(h='')}var c="",g="";this.obj.config.searchDisplayField==s.__searchField?c=s.__searchMarks:this.obj.config.searchDisplayField?(c=s[this.obj.config.searchDisplayField],OrgChart.isNullOrEmpty(c)&&(c=""),g=s.__searchMarks):c=s.__searchMarks,o+=OrgChart.searchUI.createItem(h,s.id,c,g)}r.innerHTML=o;var p=i.querySelectorAll("["+OrgChart.attr.search_item_id+"]");for(l=0;l
'+OrgChart.icon.search(32,32,"#757575")+"
'},OrgChart.searchUI.createItem=function(t,e,r,i){return"
'+t+'
'+r+'
'+i+'
'},OrgChart.searchUI.createSearchIcon=function(t){return"
'+OrgChart.icon.search(32,32,"#757575")+"
"},void 0===OrgChart&&(OrgChart={}),OrgChart.manager=function(t,e){this.config=t,this.layoutConfigs=e,this.visibleNodeIds=[],this.viewBox=null,this.action=null,this.actionParams=null,this.nodes={},this.oldNodes={},this.maxX=null,this.maxY=null,this.minX=null,this.minY=null,this.bordersByRootIdAndLevel=null,this.roots=null,this.state=null,this.vbIsInitializedFromState=!1},OrgChart.manager.prototype.read=function(h,d,c,g,p,f,u,C){var m=this;OrgChart.state._get(this.config.state,d,c,function(t){m.state=t,m.action=p,m.actionParams=f,p!=OrgChart.action.init||!m.state||f&&f.method&&"fit"==f.method?(m.viewBox=g,m.vbIsInitializedFromState=!1):(m.viewBox=m.state.vb,m.vbIsInitializedFromState=!0);var r=m.maxX,i=m.maxY,a=m.minX,n=m.minY,o=m.bordersByRootIdAndLevel,l=m.roots,s=m.nodes;if(h){var e=OrgChart.manager._getResponse(d,c,m.visibleNodeIds,m.config,r,i,a,n,m.viewBox,l,m.action,m.actionParams,s,m.oldNodes,m.vbIsInitializedFromState);p!=OrgChart.action.exporting&&(m.maxX=r,m.maxY=i,m.minX=a,m.minY=n,m.roots=l,m.nodes=s,m.visibleNodeIds=e.visibleNodeIds),e.bordersByRootIdAndLevel=o,e.roots=l,e.adjustify={x:0,y:0},m.state&&(e.adjustify=m.state.adjustify),u(e)}else m.oldNodes=s||null,m._read(function(t){r=t.maxX,i=t.maxY,a=t.minX,n=t.minY,o=t.bordersByRootIdAndLevel,l=t.roots,s=t.nodes;var e=OrgChart.manager._getResponse(d,c,m.visibleNodeIds,m.config,r,i,a,n,m.viewBox,l,m.action,m.actionParams,s,m.oldNodes,m.vbIsInitializedFromState);e.notif=t.limit,e.roots=l,e.bordersByRootIdAndLevel=o,e.adjustify=t.adjustify,p!=OrgChart.action.exporting&&(m.maxX=r,m.maxY=i,m.minX=a,m.minY=n,m.roots=l,m.nodes=s,m.visibleNodeIds=e.visibleNodeIds,m.bordersByRootIdAndLevel=o),u(e)},C)})},OrgChart.manager.prototype._read=function(n,t){var o=this,e=OrgChart.manager._createNodes(o.config,o.layoutConfigs,o.action,o.actionParams,o.oldNodes,o.state);t(e);var l=e.nodes,s=e.roots,r=OrgChart.remote;null==r&&(r=OrgChart.local),r._setPositions(s,o.layoutConfigs,function(t){var e=OrgChart.manager._doNotChangePositionOfClickedNodeIfAny(s,l,o.action,o.actionParams,o.oldNodes,o.config.orientation);o.state&&o.action==OrgChart.action.init&&(e=o.state.adjustify);for(var r={minX:null,minY:null,maxX:null,maxY:null},i={},a=0;a=e.collapse.level-1&&-1==i.indexOf(t.id):a!=OrgChart.action.centerNode&&a!=OrgChart.action.insert||-1!=i.indexOf(t.id)&&(t.collapsed=!1)},OrgChart.manager._initNode=function(t,e,r,i,a,n,o,l,s,h,d){var c=n[r||"base"];null==t.parent&&OrgChart.manager._setCollpasedProperty(t,c,s,l,a,i-1,d);for(var g=0;gi.sl&&(i=e);for(var r=0;r=a-o)switch(w=(a+o)/2-b/2,i.orientation){case OrgChart.orientation.right:case OrgChart.orientation.right_top:w=(o-a)/2-b/2}else switch(w=u.x-b/2+OrgChart.manager._getNodeWidth(u,i)/2,i.orientation){case OrgChart.orientation.right:case OrgChart.orientation.right_top:(w=-(b/2-(o-a)/2))-i.padding&&(w=-i.padding)}if(_-2*i.padding>=n-l)switch(k=(n+l)/2-_/2,i.orientation){case OrgChart.orientation.bottom:case OrgChart.orientation.bottom_left:k=(l-n)/2-_/2}else switch((k=-(_/2-(n-l)/2))>-i.padding&&(k=-i.padding),i.orientation){case OrgChart.orientation.bottom:case OrgChart.orientation.bottom_left:(k=-(_/2-(l-n)/2))m.right?m.right:m.left),s[0]>m.right&&s[0]>m.left&&(s[0]=m.left>m.right?m.left:m.right),s[1]m.bottom?m.bottom:m.top),s[1]>m.bottom&&s[1]>m.top&&(s[1]=m.top>m.bottom?m.top:m.bottom))}if(d==OrgChart.action.centerNode||d==OrgChart.action.maximize){var S=g[c.id];1==c.options.horizontal&&(s[0]=S.x+S.w/2-s[2]/2),1==c.options.vertical&&(s[1]=S.y+S.h/2-s[3]/2),i.sticky&&(s[0]m.right?m.right:m.left),s[0]>m.right&&s[0]>m.left&&(s[0]=m.left>m.right?m.left:m.right),s[1]m.bottom?m.bottom:m.top),s[1]>m.bottom&&s[1]>m.top&&(s[1]=m.top>m.bottom?m.top:m.bottom))}if(d==OrgChart.action.insert||d==OrgChart.action.expand||d==OrgChart.action.collapse||d==OrgChart.action.update||d==OrgChart.action.centerNode||d==OrgChart.action.maximize){var I=null;if(d==OrgChart.action.insert&&c&&null!=c.insertedNodeId&&null!=c.insertedNodeId)I=g[c.insertedNodeId];else if(d==OrgChart.action.update&&c&&null!=c.visId&&null!=c.visId)I=g[c.visId];else if(d!=OrgChart.action.expand&&d!=OrgChart.action.collapse&&d!=OrgChart.action.maximize||!c||null==c.id||null==c.id){if(d==OrgChart.action.centerNode||d==OrgChart.action.maximize){switch(i.orientation){case OrgChart.orientation.top:case OrgChart.orientation.top_left:case OrgChart.orientation.bottom:case OrgChart.orientation.bottom_left:c.options.vertical||(I=g[c.id]);break;case OrgChart.orientation.right:case OrgChart.orientation.right_top:case OrgChart.orientation.left:case OrgChart.orientation.left_top:c.options.horizontal||(I=g[c.id])}I&&(I=OrgChart.manager._getMostDeepChild(I,g))}}else I=g[c.id],I=OrgChart.manager._getMostDeepChild(I,g);if(!OrgChart.FIXED_POSITION_ON_CLICK&&I)switch(i.orientation){case OrgChart.orientation.top:case OrgChart.orientation.top_left:var A=I.y+I.h-s[3]+i.padding;s[1]A&&(s[1]=A);break;case OrgChart.orientation.right:case OrgChart.orientation.right_top:A=I.x-i.padding;s[0]>A&&(s[0]=A);break;case OrgChart.orientation.left:case OrgChart.orientation.left_top:A=I.x+I.w-s[2]+i.padding;s[0]',svg:'{content}',link:'',pointer:'',node:'',plus:'',minus:'',nodeMenuButton:'',exportMenuButton:'



',img_0:'',link_field_0:'{val}'},OrgChart.templates.ana={defs:"",size:[250,120],linkAdjuster:{fromX:0,fromY:0,toX:0,toY:0},ripple:{radius:0,color:"#e6e6e6",rect:null},expandCollapseSize:30,svg:'{content}',link:'',assistanseLink:'',pointer:'',node:'',plus:'',minus:'',up:'',nodeMenuButton:'',exportMenuButton:'



',img_0:'',link_field_0:'{val}',field_0:"{val}',field_1:"{val}',padding:[50,20,35,20]},OrgChart.templates.split=Object.assign({},OrgChart.templates.ana),OrgChart.templates.split.size=[10,10],OrgChart.templates.split.node='',OrgChart.templates.group=Object.assign({},OrgChart.templates.ana),OrgChart.templates.group.size=[250,120],OrgChart.templates.group.node='',OrgChart.templates.group.link='',OrgChart.templates.group.nodeMenuButton='',OrgChart.templates.group.field_0="{val}',OrgChart.templates.group.field_1="",OrgChart.templates.group.ripple={radius:50,color:"#aeaeae"},OrgChart.templates.invisibleGroup=Object.assign({},OrgChart.templates.group),OrgChart.templates.invisibleGroup.node="",OrgChart.templates.invisibleGroup.padding=[0,0,0,0],OrgChart.templates.invisibleGroup.field_0="",OrgChart.templates.invisibleGroup.nodeMenuButton="",OrgChart.templates.mirror={linkAdjuster:{},link:"",node:"",nodeMenuButton:"",size:[0,0]},OrgChart.templates.ula=Object.assign({},OrgChart.templates.ana),OrgChart.templates.ula.field_0="{val}',OrgChart.templates.ula.field_1="{val}',OrgChart.templates.ula.node='',OrgChart.templates.ula.img_0='',OrgChart.templates.ula.menu='',OrgChart.templates.ula.nodeMenuButton='',OrgChart.templates.olivia=Object.assign({},OrgChart.templates.ana),OrgChart.templates.olivia.field_0="{val}',OrgChart.templates.olivia.field_1="{val}',OrgChart.templates.olivia.defs='',OrgChart.templates.olivia.node='',OrgChart.templates.olivia.img_0='',OrgChart.templates.olivia.nodeMenuButton='',OrgChart.templates.belinda=Object.assign({},OrgChart.templates.ana),OrgChart.templates.belinda.size=[180,180],OrgChart.templates.belinda.ripple={radius:90,color:"#e6e6e6",rect:null},OrgChart.templates.belinda.node='',OrgChart.templates.belinda.img_0='',OrgChart.templates.belinda.field_0="{val}',OrgChart.templates.belinda.field_1="{val}',OrgChart.templates.belinda.link='',OrgChart.templates.belinda.nodeMenuButton='',OrgChart.templates.rony=Object.assign({},OrgChart.templates.ana),OrgChart.templates.rony.svg='{content}',OrgChart.templates.rony.defs='',OrgChart.templates.rony.size=[180,250],OrgChart.templates.rony.ripple={color:"#F57C00",radius:5,rect:null},OrgChart.templates.rony.img_0='',OrgChart.templates.rony.node='',OrgChart.templates.rony.field_0="{val}',OrgChart.templates.rony.field_1="{val}',OrgChart.templates.rony.field_2="{val}',OrgChart.templates.rony.link='',OrgChart.templates.rony.plus='',OrgChart.templates.rony.minus='',OrgChart.templates.rony.nodeMenuButton='',OrgChart.templates.mery=Object.assign({},OrgChart.templates.ana),OrgChart.templates.mery.ripple={color:"#e6e6e6",radius:50,rect:null},OrgChart.templates.mery.node='',OrgChart.templates.mery.link='',OrgChart.templates.mery.img_0='',OrgChart.templates.mery.field_0="{val}',OrgChart.templates.mery.field_1="{val}',OrgChart.templates.mery.nodeMenuButton='',OrgChart.templates.polina=Object.assign({},OrgChart.templates.ana),OrgChart.templates.polina.size=[300,80],OrgChart.templates.polina.ripple={color:"#e6e6e6",radius:40,rect:null},OrgChart.templates.polina.node='',OrgChart.templates.polina.img_0='',OrgChart.templates.polina.field_0="{val}',OrgChart.templates.polina.field_1="{val}',OrgChart.templates.polina.link='',OrgChart.templates.polina.nodeMenuButton='',OrgChart.templates.mila=Object.assign({},OrgChart.templates.ana),OrgChart.templates.mila.node='',OrgChart.templates.mila.img_0='',OrgChart.templates.mila.field_0="{val}',OrgChart.templates.mila.nodeMenuButton='',OrgChart.templates.diva=Object.assign({},OrgChart.templates.ana),OrgChart.templates.diva.size=[200,170],OrgChart.templates.diva.node='',OrgChart.templates.diva.img_0='',OrgChart.templates.diva.field_0="{val}',OrgChart.templates.diva.field_1="{val}',OrgChart.templates.diva.pointer='',OrgChart.templates.diva.nodeMenuButton='',OrgChart.templates.luba=Object.assign({},OrgChart.templates.ana),OrgChart.templates.luba.svg='{content}',OrgChart.templates.luba.defs='',OrgChart.templates.luba.node='',OrgChart.templates.luba.img_0='',OrgChart.templates.luba.nodeMenuButton='',OrgChart.templates.luba.field_0="{val}',OrgChart.templates.luba.field_1="{val}',OrgChart.templates.luba.plus='',OrgChart.templates.luba.minus='',OrgChart.templates.luba.expandCollapseSize=36,OrgChart.templates.derek=Object.assign({},OrgChart.templates.ana),OrgChart.templates.derek.link='',OrgChart.templates.derek.field_0="{val}',OrgChart.templates.derek.field_1="{val}',OrgChart.templates.derek.node='',OrgChart.templates.derek.defs=' ',OrgChart.templates.derek.img_0='',OrgChart.templates.derek.minus='',OrgChart.templates.derek.plus='',OrgChart.templates.derek.nodeMenuButton='',OrgChart.templates.isla=Object.assign({},OrgChart.templates.ana),OrgChart.templates.isla.defs='',OrgChart.templates.isla.size=[180,120],OrgChart.templates.isla.node='',OrgChart.templates.isla.field_0="{val}',OrgChart.templates.isla.field_1="{val}',OrgChart.templates.isla.img_0='',OrgChart.templates.isla.minus='',OrgChart.templates.isla.plus='',OrgChart.templates.isla.nodeMenuButton='',OrgChart.templates.isla.ripple={radius:0,color:"#F57C00",rect:{x:0,y:20,width:180,height:100}},OrgChart.templates.deborah=Object.assign({},OrgChart.templates.polina),OrgChart.templates.deborah.size=[150,150],OrgChart.templates.deborah.node='',OrgChart.templates.deborah.img_0='',OrgChart.templates.deborah.field_0="{val}',OrgChart.templates.deborah.field_1="{val}',OrgChart.templates.deborah.nodeMenuButton='',OrgChart.templates.subLevel=Object.assign({},OrgChart.templates.base),OrgChart.templates.subLevel.size=[0,0],OrgChart.templates.subLevel.node="",OrgChart.templates.subLevel.plus="",OrgChart.templates.subLevel.minus="",OrgChart.templates.subLevel.nodeMenuButton="",OrgChart.ui={_defsIds:{},defs:function(t){var e="";for(var r in OrgChart.templates){var i=OrgChart.templates[r];i.defs&&(OrgChart.ui._defsIds[r]=OrgChart.randomId(),e+=i.defs.replace("{randId}",OrgChart.ui._defsIds[r]))}return""+e+t+""},css:function(){return''},lonely:function(t){return t.nodes&&t.nodes.length?"":OrgChart.IT_IS_LONELY_HERE.replace("{link}",OrgChart.RES.IT_IS_LONELY_HERE_LINK)},pointer:function(t,e,r){return e===OrgChart.action.exporting?"":OrgChart.t(t.template,!1,r).pointer},node:function(t,e,r,i,a,n,o,l,s,h){var d=OrgChart.t(t.templateName,t.min,s),c=d.node.replaceAll("{w}",t.w).replaceAll("{h}",t.h);d.defs&&(c=c.replace("{randId}",OrgChart.ui._defsIds[t.templateName])),null==o&&(o=i.nodeBinding);var g={node:t,data:e};for(var p in o){var f,u=o[p];if(e&&(f=e[u]),"function"==typeof u&&(f=u(h,t,e)),g.value=f,g.element=d[p],g.name=u,!1!==OrgChart.events.publish("field",[h,g]))if(null!=g.value&&null!=g.value&&null!=g.element)c+=(OrgChart._lblIsImg(i,p)||"string"!=typeof g.value||(g.value=OrgChart.wrapText(g.value,g.element)),g.element.replace("{val}",function(){return g.value})).replaceAll("{ew}",t.w-(t.padding?t.padding[1]:0)).replaceAll("{cw}",t.w/2).replaceAll("{randId}",OrgChart.randomId()).replaceAll("{randId2}",OrgChart.randomId())}var C=OrgChart._getPosition(r,t,a,n),m="node";Array.isArray(t.tags)&&t.tags.length&&(m+=" "+t.tags.join(" ")),t.layout&&(m+=" tree-layout");var O="";t.lcn&&(O='lcn="'+t.lcn+'"');var y=OrgChart.nodeOpenTag.replace("{lcn}",O).replace("{id}",t.id).replace("{class}",m).replace("{sl}",t.sl).replace("{level}",t.level).replace("{x}",C.x).replace("{y}",C.y),x=OrgChart._getOpacity(r,t);return c=(y=y.replace("{opacity}",x))+(c+=OrgChart.ui.nodeBtns(i,t,l,d,h))+OrgChart.grCloseTag},nodeBtns:function(t,e,r,i,a){var n="";return null==t.nodeMenu||e.isSplit||r===OrgChart.action.exporting||(n+=i.nodeMenuButton.replace("{id}",e.id).replace("{cw}",e.w/2).replace("{ew}",e.w-(e.padding?e.padding[1]:0))),null==t.nodeCircleMenu||e.isSplit||r===OrgChart.action.exporting||OrgChart.isNullOrEmpty(i.nodeCircleMenuButton)||(n+=''),n},expandCollapseBtn:function(t,e,r,i,a){var n="";if(i!==OrgChart.action.exporting&&!e.isSplit){var o=r[e.lcn?e.lcn:"base"],l=0,s=0,h=OrgChart.t(e.templateName,e.min,a);if(0t.firstRight.x+t.firstRight.w/2?ot.firstRight.y+t.firstRight.h/2?or.right?r.right:r.left),e[0]>r.right&&e[0]>r.left&&(a[0]=r.left>r.right?r.left:r.right),e[1]r.bottom?r.bottom:r.top),e[1]>r.bottom&&e[1]>r.top&&(a[1]=r.top>r.bottom?r.top:r.bottom),e[0]!==a[0]||e[1]!==a[1]?OrgChart.anim(t,{viewBox:e},{viewBox:a},300,OrgChart.anim.outPow,function(){i&&i()}):i&&i()},OrgChart.randomId=function(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)},OrgChart._getClientXY=function(t){return-1==t.type.indexOf("touch")?{x:t.clientX,y:t.clientY}:t.changedTouches.length?{x:t.changedTouches[0].clientX,y:t.changedTouches[0].clientY}:void 0},OrgChart._getClientTouchesXY=function(t,e){return-1!=t.type.indexOf("touch")?t.touches.lengtha.top+a.height&&(l-=n.height),i.left-n.width",e.querySelector("text").getBoundingClientRect()},OrgChart.wrapText=function(t,e){var r=e.toLowerCase();if(-1==r.indexOf(""+e+"";var a,n,o=(new DOMParser).parseFromString(e,"text/xml").getElementsByTagName("text")[0],l=parseFloat(o.getAttribute("x")),s=parseFloat(o.getAttribute("y")),h=o.getAttribute("text-anchor"),d=o.getAttribute(OrgChart.attr.width),c=o.getAttribute(OrgChart.attr.text_overflow),g="http://www.w3.org/2000/svg",p=i.getElementsByTagName("svg")[0].getElementsByTagName("text")[0];c||(c="ellipsis");var f=c.split("-");if(1"+t+""+p.textContent:t}if(-1!=c.indexOf("multiline")){var m=t.split(" "),O=p.getBBox().height;p.textContent="";var y=document.createElementNS(g,"tspan"),x=document.createTextNode(m[0]);y.setAttributeNS(null,"x",l),y.setAttributeNS(null,"y",s),y.setAttributeNS(null,"text-anchor",h),y.appendChild(x),p.appendChild(y);C=1;for(var v=1,b=1;bd){if(y.firstChild.data=y.firstChild.data.slice(0,_),v++,a&&a'+(new XMLSerializer).serializeToString(e.documentElement)},OrgChart._xml2json=function(t){for(var e=(new DOMParser).parseFromString(t,"text/xml").getElementsByTagName("node"),r=[],i=0;ie.maxX)&&(e.maxX=t.x+t.w),(null==e.maxY||null!=t.y&&t.y+t.h>e.maxY)&&(e.maxY=t.y+t.h)},OrgChart.getStParentNodes=function(t,e){for(e||(e=[]);t.parent;)t=t.parent;return t.stParent&&(e.push(t.stParent),OrgChart.getStParentNodes(t.stParent,e)),e},OrgChart.getRootOf=function(t){for(;t&&t.parent;)t=t.parent;return t},OrgChart._getViewBox=function(t){var e=null;return t?(e=(e="["+(e=t.getAttribute("viewBox"))+"]").replace(/\ /g,","),e=JSON.parse(e)):null},OrgChart.isNullOrEmpty=function(t){return null==t||""===t},OrgChart.xScrollUI=function(t,e,r,i,a){this.element=t,this.requestParams=r,this.config=e,this.onSetViewBoxCallback=i,this.onDrawCallback=a,this.pos=0},OrgChart.xScrollUI.prototype.addListener=function(t){var o=this;if((this.config.mouseScrool==OrgChart.action.xScroll||this.config.mouseScrool==OrgChart.action.scroll)&&this.bar){var e=OrgChart._getScrollSensitivity();!function(t,i,e){var a=!1;function n(){a=!0;var t=(o.pos-o.bar.scrollLeft)/e;if(0r&&(o.pos=r),a||n()},{passive:!0});var r=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){setTimeout(t,20)}}(t,e.speed,e.smooth)}},OrgChart.xScrollUI.prototype.create=function(t){if(this.config.showXScroll===OrgChart.scroll.visible||this.config.mouseScrool===OrgChart.action.scroll||this.config.mouseScrool===OrgChart.action.xScroll){var a=this;this.bar&&this.bar.parentNode.removeChild(this.bar),this.bar=document.createElement("div"),this.config.showXScroll!==OrgChart.scroll.visible&&(this.bar.style.visibility="hidden"),this.innerBar=document.createElement("div");this.requestParams();this.innerBar.innerHTML=" ",Object.assign(this.bar.style,{position:"absolute",left:0,bottom:0,width:t+"px","overflow-x":"scroll",height:"20px"}),this.element.appendChild(this.bar),this.bar.appendChild(this.innerBar),this.bar.addEventListener("scroll",function(){if(this.ignore)this.ignore=!1;else{var t=a.requestParams(),e=(parseFloat(a.innerBar.clientWidth)-parseFloat(a.bar.clientWidth))/100,r=this.scrollLeft/e,i=(t.boundary.right-t.boundary.left)/100;t.viewBox[0]=r*i+t.boundary.left,a.onSetViewBoxCallback(t.viewBox),clearTimeout(this._timeout),this._timeout=setTimeout(function(){a.onDrawCallback()},500)}})}},OrgChart.xScrollUI.prototype.setPosition=function(){if(this.bar){var t=this.requestParams(),e=Math.abs(t.boundary.maxX-t.boundary.minX)*t.scale;switch(this.config.orientation){case OrgChart.orientation.bottom:case OrgChart.orientation.bottom_left:innerHeight=Math.abs(t.boundary.minY*t.scale);break;case OrgChart.orientation.right:case OrgChart.orientation.right_top:e=Math.abs(t.boundary.minX*t.scale)}this.innerBar.style.width=e+"px";var r=(t.boundary.right-t.boundary.left)/100,i=(t.viewBox[0]-t.boundary.left)/r;i<0?i=0:100r&&(o.pos=r),a||n()},{passive:!0});var r=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){setTimeout(t,20)}}(t,e.speed,e.smooth)}},OrgChart.yScrollUI.prototype.create=function(t){if(this.config.showYScroll===OrgChart.scroll.visible||this.config.mouseScrool===OrgChart.action.scroll||this.config.mouseScrool===OrgChart.action.yScroll){var a=this;this.bar&&this.bar.parentNode.removeChild(this.bar),this.bar=document.createElement("div"),this.config.showYScroll!==OrgChart.scroll.visible&&(this.bar.style.visibility="hidden"),this.innerBar=document.createElement("div"),this.innerBar.innerHTML=" ",Object.assign(this.bar.style,{position:"absolute",right:0,bottom:0,height:t+"px","overflow-y":"scroll",width:"20px"}),this.element.appendChild(this.bar),this.bar.appendChild(this.innerBar),this.bar.addEventListener("scroll",function(){if(this.ignore)this.ignore=!1;else{var t=a.requestParams(),e=(parseFloat(a.innerBar.clientHeight)-parseFloat(a.bar.clientHeight))/100,r=this.scrollTop/e,i=(t.boundary.bottom-t.boundary.top)/100;t.viewBox[1]=r*i+t.boundary.top,a.onSetViewBoxCallback(t.viewBox),clearTimeout(this._timeout),this._timeout=setTimeout(function(){a.onDrawCallback()},500)}})}},OrgChart.yScrollUI.prototype.setPosition=function(){if(this.bar){var t=this.requestParams(),e=t.boundary.maxY*t.scale;switch(this.config.orientation){case OrgChart.orientation.bottom:case OrgChart.orientation.bottom_left:e=Math.abs(t.boundary.minY*t.scale);break;case OrgChart.orientation.right:case OrgChart.orientation.right_top:innerWidth=Math.abs(t.boundary.minX*t.scale)}this.innerBar.style.height=e+"px";var r=(t.boundary.bottom-t.boundary.top)/100,i=(t.viewBox[1]-t.boundary.top)/Math.abs(r);i<0?i=0:100this.config.scaleMin||0!=t&&1!=t&&sthis.config.scaleMin){this._hideBeforeAnimation();var h=this;r?(clearTimeout(h._timeout),OrgChart.anim(this.getSvg(),{viewbox:this.getViewBox()},{viewbox:a},this.config.anim.duration,this.config.anim.func,function(){clearTimeout(h._timeout),h._timeout=setTimeout(function(){h._draw(!0,OrgChart.action.zoom,null,i)},500)})):(this.setViewBox(a),clearTimeout(h._timeout),h._timeout=setTimeout(function(){h._draw(!0,OrgChart.action.zoom,null,i)},500))}},OrgChart.loading={},OrgChart.loading.show=function(t){var e=document.createElement("div");e.id="bg-loading",e.innerHTML='
',t.element.appendChild(e)},OrgChart.loading.hide=function(t){var e=t.element.querySelector("#bg-loading");e&&e.parentNode.removeChild(e)},OrgChart.pdfPrevUI={},OrgChart.loc||(OrgChart.loc={}),OrgChart.loc.ppdfCmdTitle="PDF Preview",OrgChart.loc.ppdfSave="Save",OrgChart.loc.ppdfCancel="Cancel",OrgChart.loc.ppdfFormat="Format",OrgChart.loc.ppdfFitToDrwaing="Fit",OrgChart.loc.ppdfA4="A4",OrgChart.loc.ppdfA3="A3",OrgChart.loc.ppdfA2="A2",OrgChart.loc.ppdfA1="A1",OrgChart.loc.ppdfLetter="Letter",OrgChart.loc.ppdfLegal="Legal",OrgChart.loc.ppdfLayout="Layout",OrgChart.loc.ppdfPortrait="Portrait",OrgChart.loc.ppdfLandscape="Landscape",OrgChart.loc.ppdfFittopagewidth="Fit to page width",OrgChart.loc.ppdfMargin="Margin",OrgChart.loc.ppdfHeader="Header",OrgChart.loc.ppdfFooter="Footer",OrgChart.loc.ppdfScale="Scale",OrgChart.pdfPrevUI.show=function(r,i){i=r._defaultExportOptions(i,"pdf");var t=document.createElement("div");t.id="bg-ppdf-btns",Object.assign(t.style,{position:"absolute",top:0,left:0,"background-color":"#fff","z-index":5,margin:"0 0 0 -250px","box-shadow":"0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)",width:"250px",height:"100%","font-family":"Roboto,Helvetica",color:"#757575","text-align":"right",padding:"10px"}),r.element.appendChild(t),t.innerHTML="

"+OrgChart.loc.ppdfCmdTitle+'

 
';var e=document.createElement("div");e.id="bg-ppdf-wrapper",Object.assign(e.style,{"overflow-y":"scroll",position:"absolute",top:0,left:"270px","background-color":"#eee",width:r.width()-270+"px",height:"100%"}),r.element.appendChild(e),e.innerHTML='
';var a,n,o,l=r.element.querySelector("#bg-ppdf-size"),s=r.element.querySelector("#bg-ppdf-layout"),h=r.element.querySelector("#bg-ppdf-scale"),d=r.element.querySelector("#bg-ppdf-margin"),c=r.element.querySelector("#bg-ppdf-header"),g=r.element.querySelector("#bg-ppdf-footer");l.value=i.format,s.value=i.landscape,h.value=i.scale,d.value=i.margin,c.value=i.header,g.value=i.footer,OrgChart.anim(r.element.querySelector("#bg-ppdf-btns"),{margin:[0,0,0,-250]},{margin:[0,0,0,0]},300,OrgChart.anim.outSin,function(){r.exportPDF(i,OrgChart.pdfPrevUI._handler)}),r.element.querySelector("#bg-prev-cancel").addEventListener("click",function(){OrgChart.pdfPrevUI.hide(r)}),r.element.querySelector("#bg-prev-save").addEventListener("click",function(){r.exportPDF(i),OrgChart.pdfPrevUI.hide(r)}),OrgChart.pdfPrevUI._showHide(l,s,h),l.addEventListener("change",function(){OrgChart.anim(r.element.querySelector("#bg-ppdf-content"),{opacity:1},{opacity:0},300,OrgChart.anim.inSin,function(){r.element.querySelector("#bg-ppdf-content").innerHTML="",i.format=l.value,r.exportPDF(i,OrgChart.pdfPrevUI._handler),OrgChart.pdfPrevUI._showHide(l,s,h)})}),s.addEventListener("change",function(){OrgChart.anim(r.element.querySelector("#bg-ppdf-content"),{opacity:1},{opacity:0},300,OrgChart.anim.inSin,function(){r.element.querySelector("#bg-ppdf-content").innerHTML="",i.landscape="true"==s.value,r.exportPDF(i,OrgChart.pdfPrevUI._handler),OrgChart.pdfPrevUI._showHide(l,s,h)})}),h.addEventListener("change",function(){OrgChart.anim(r.element.querySelector("#bg-ppdf-content"),{opacity:1},{opacity:0},300,OrgChart.anim.inSin,function(){r.element.querySelector("#bg-ppdf-content").innerHTML="",i.scale=h.value,r.exportPDF(i,OrgChart.pdfPrevUI._handler),OrgChart.pdfPrevUI._showHide(l,s,h)})}),d.addEventListener("keyup",function(){clearTimeout(a),a=setTimeout(function(){OrgChart.anim(r.element.querySelector("#bg-ppdf-content"),{opacity:1},{opacity:0},300,OrgChart.anim.inSin,function(){r.element.querySelector("#bg-ppdf-content").innerHTML="";var t=d.value.split(",");if(4==t.length){for(var e=0;e';return a&&(s+='
'+a+"
"),s+=t,n&&(s+='"),s+="",s+=""},OrgChart.pdfPrevUI.hide=function(e){var r=e.element.querySelector("#bg-ppdf-wrapper");r&&OrgChart.anim(r,{opacity:1},{opacity:0},300,OrgChart.anim.inSin,function(){r.parentNode.removeChild(r);var t=e.element.querySelector("#bg-ppdf-btns");OrgChart.anim(t,{margin:[0,0,0,0]},{margin:[0,0,0,-280]},300,OrgChart.anim.inSin,function(){t.parentNode.removeChild(t)})})},void 0===OrgChart&&(OrgChart={}),OrgChart.events.on("renderdefs",function(t,e){for(var r=0;r').replace("{from}",d.id).replace("{to}",c.id)+k.link.replaceAll("{d}",I)+'',l+=OrgChart.grCloseTag}function A(t,e,r){null==r&&(r=1);var i=e.x-t.x,a=e.y-t.y,n=Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))/3;return n=n/(Math.sqrt(i*i+a*a)*r)*OrgChart.CLINK_CURVE,{x:t.x+i/2-a*n,y:t.y+a/2+i*n}}}e.content+=l},OrgChart.prototype.addClink=function(t,e,r,i){return this.removeClink(t,e),this.config.clinks.push({from:t,to:e,label:r,template:i}),this},OrgChart.prototype.removeClink=function(t,e){for(var r=this.config.clinks.length-1;0<=r;r--){var i=this.config.clinks[r];i.from==t&&i.to==e&&this.config.clinks.splice(r,1)}return this},OrgChart.clinkTemplates={},OrgChart.clinkTemplates.orange={defs:' ',link:'',label:'{val}'},OrgChart.clinkTemplates.blue={defs:' ',link:'',label:'{val}'},OrgChart.clinkTemplates.yellow={defs:' ',link:'',label:'{val}'},void 0===OrgChart&&(OrgChart={}),OrgChart.events.on("renderdefs",function(t,e){for(var r=0;rt.x&&(n="right");break;case OrgChart.orientation.left:case OrgChart.orientation.left_top:case OrgChart.orientation.right:case OrgChart.orientation.right_top:n="top",e.y>t.y&&(n="bottom")}var s=OrgChart.t(t.templateName,t.min,A),h=l.levelSeparation;(t.parent&&t.parent.layout==OrgChart.mixed||t.parent&&t.parent.layout==OrgChart.tree)&&(h=l.mixedHierarchyNodesSeparation);var d={p:t.x+t.w/2+s.expandCollapseSize,q:t.y,r:t.x+t.w/2+s.expandCollapseSize,s:E.minY+h};if(t.level==e.level)switch(a=e,l.orientation){case OrgChart.orientation.top:case OrgChart.orientation.top_left:i.push([d.p,d.q]),i.push([d.p,d.q-h/3]),s=OrgChart.t(a.templateName,a.min,A),i.push([a.x+a.w/2+s.expandCollapseSize,i[i.length-1][1]]),i.push([i[i.length-1][0],a.y]);break;case OrgChart.orientation.bottom:case OrgChart.orientation.bottom_left:d.q=t.y+t.h,d.s=E.maxY-h,i.push([d.p,d.q]),i.push([d.r,t.y+t.h+h/3]),s=OrgChart.t(a.templateName,a.min,A),i.push([a.x+a.w/2+s.expandCollapseSize,i[i.length-1][1]]),i.push([i[i.length-1][0],a.y+a.h]);break;case OrgChart.orientation.left:case OrgChart.orientation.left_top:d.p=t.x,d.q=t.y+t.h/2+s.expandCollapseSize,d.r=E.minX-h,d.s=t.y+t.h/2+s.expandCollapseSize,i.push([d.p,d.q]),i.push([t.x-h/3,d.q]),s=OrgChart.t(a.templateName,a.min,A),i.push([i[i.length-1][0],a.y+a.h/2+s.expandCollapseSize]),i.push([a.x,i[i.length-1][1]]);break;case OrgChart.orientation.right:case OrgChart.orientation.right_top:d.p=t.x+t.w,d.q=t.y+t.h/2+s.expandCollapseSize,d.r=E.maxX+h,d.s=t.y+t.h/2+s.expandCollapseSize,i.push([d.p,d.q]),i.push([t.x+t.w+h/3,d.q]),s=OrgChart.t(a.templateName,a.min,A),i.push([i[i.length-1][0],a.y+a.h/2+s.expandCollapseSize]),i.push([a.x+a.w,i[i.length-1][1]])}else{switch(l.orientation){case OrgChart.orientation.top:case OrgChart.orientation.top_left:i.push([d.p,d.q]),i.push([d.r,t.y-h/3]);break;case OrgChart.orientation.bottom:case OrgChart.orientation.bottom_left:d.q=t.y+t.h,d.s=E.maxY-h,i.push([d.p,d.q]),i.push([d.r,t.y+t.h+h/3]);break;case OrgChart.orientation.left:case OrgChart.orientation.left_top:d.p=t.x,d.q=t.y+t.h/2+s.expandCollapseSize,d.r=E.minX-h,d.s=t.y+t.h/2+s.expandCollapseSize,i.push([d.p,d.q]),i.push([t.x-h/3,d.q]);break;case OrgChart.orientation.right:case OrgChart.orientation.right_top:d.p=t.x+t.w,d.q=t.y+t.h/2+s.expandCollapseSize,d.r=E.maxX+h,d.s=t.y+t.h/2+s.expandCollapseSize,i.push([d.p,d.q]),i.push([t.x+t.w+h/3,d.q])}for(var c=t;null==a;){var g=!1,p=c.parent,f=p.leftNeighbor,u=p.rightNeighbor;if(p.id==e.id?a=p:OrgChart._intersects(p,d,S.config)&&(d=OrgChart._addPoint(p,i,S.config,d,n),g=!0),p.id!=e.id){for(;f;){if(f.id==e.id){a=f;break}OrgChart._intersects(f,d,S.config)&&(d=OrgChart._addPoint(f,i,S.config,d,n),g=!0),f=f.leftNeighbor}for(;u;){if(u.id==e.id){a=u;break}OrgChart._intersects(u,d,S.config)&&(d=OrgChart._addPoint(u,i,S.config,d,n),g=!0),u=u.rightNeighbor}}if(!g){var C=i[i.length-1][0],m=0;if(p.parent)switch(h=l.levelSeparation,p.parent.layout!=OrgChart.mixed&&p.parent.layout!=OrgChart.tree||(h=l.mixedHierarchyNodesSeparation),l.orientation){case OrgChart.orientation.top:case OrgChart.orientation.top_left:m=p.parent.y+p.parent.h+h*(2/3);break;case OrgChart.orientation.bottom:case OrgChart.orientation.bottom_left:m=p.parent.y-h*(2/3);break;case OrgChart.orientation.left:case OrgChart.orientation.left_top:C=p.parent.x+p.parent.w+h*(2/3),m=i[i.length-1][1];break;case OrgChart.orientation.right:case OrgChart.orientation.right_top:C=p.parent.x-h*(2/3),m=i[i.length-1][1]}i.push([C,m])}c=p}switch(s=OrgChart.t(a.templateName,a.min,A),i.splice(i.length-1,1),l.orientation){case OrgChart.orientation.top:case OrgChart.orientation.top_left:i.push([a.x+a.w/2+s.expandCollapseSize,i[i.length-1][1]]),i.push([i[i.length-1][0],a.y+a.h]);break;case OrgChart.orientation.bottom:case OrgChart.orientation.bottom_left:i.push([a.x+a.w/2+s.expandCollapseSize,i[i.length-1][1]]),i.push([i[i.length-1][0],a.y]);break;case OrgChart.orientation.left:case OrgChart.orientation.left_top:i.push([i[i.length-1][0],a.y+a.h/2+s.expandCollapseSize]),i.push([a.x+a.w,i[i.length-1][1]]);break;case OrgChart.orientation.right:case OrgChart.orientation.right_top:i.push([i[i.length-1][0],a.y+a.h/2+s.expandCollapseSize]),i.push([a.x,i[i.length-1][1]])}}var O=M.template;O||(O="orange");var y=null;switch((s=OrgChart.slinkTemplates[O]).labelPosition){case"start":y={x:i[1][0],y:i[1][1]};break;case"middle":var x=Math.ceil(i.length/2);y=function(t,e){return{x:(t[0]+e[0])/2,y:(t[1]+e[1])/2}}(i[x],i[x-1]);break;case"end":y={x:i[i.length-2][0],y:i[i.length-2][1]}}r&&(i=i.reverse()),i[0]="M"+i[0].join(",");for(var v=1;v').replace("{from}",t.id).replace("{to}",e.id)+s.link.replaceAll("{d}",b)+'',I+=OrgChart.grCloseTag}for(var r=0;r=a.level?e(i,a,!1):e(a,i,!0))}t.content+=I},OrgChart.prototype.addSlink=function(t,e,r,i){return this.removeClink(t,e),this.config.slinks.push({from:t,to:e,label:r,template:i}),this},OrgChart.prototype.removeSlink=function(t,e){for(var r=this.config.slinks.length-1;0<=r;r--){var i=this.config.slinks[r];i.from==t&&i.to==e&&this.config.slinks.splice(r,1)}return this},OrgChart.slinkTemplates={},OrgChart.slinkTemplates.orange={defs:' ',link:'',label:'{val}',labelPosition:"middle"},OrgChart.slinkTemplates.blue={defs:' ',link:'',label:'{val}',labelPosition:"middle"},OrgChart.slinkTemplates.yellow={defs:' ',link:'',label:'{val}',labelPosition:"middle"},OrgChart.events.on("redraw",function(t,e){if(t.config.miniMap){var r=OrgChart.miniMap._getCanvas(t),a=r.getContext("2d");r.width=r.width,r.height=r.height;var i=t.response.boundary.maxX-t.response.boundary.minX,n=t.response.boundary.maxY-t.response.boundary.minY,o=Math.min(r.width/i,r.height/n),l=(r.width-i*o)/2,s=(r.height-n*o)/2;a.clearRect(0,0,r.width,r.height),a.translate(-t.response.boundary.minX*o+l,-t.response.boundary.minY*o+s),a.scale(o,o);var h=0,d=[];!function t(e,r){if(Array.isArray(r))for(var i=0;ie.__score?-1:0}),o},OrgChart._search.addNodeToResult=function(t,e,r,i,a,n){var o={};o.id=r.id,OrgChart.isNullOrEmpty(r[n])||(o[n]=r[n]);for(var l=0;ln[d].start){h=0;break}}var c=0;0!=l&&(c=l/o);var g=0e.start?1:0});var u=e;for(d=n.length-1;0<=d;d--)u=(u=u.insert(n[d].start+n[d].length,"")).insert(n[d].start,"");return{__searchMarks:u,__score:f}},OrgChart._search.searchIndexesOf=function(t,e){var l=[];if(!OrgChart.isNullOrEmpty(t))for(var r=0;re.length?-1:t.starte.start?1:0}),l=l.filter(function(t){for(var e=!1,r=0;rORGANISATION user-community representatives, NeIC engages IT experts to participate in projects and operational activities. Projects are developed in accordance with the directions set out in the Nordic eScience Action Plan 2.0 (2015). + + Organisational chart

-
organisation
+
organisation +
diff --git a/_includes/organisation.html b/_includes/organisation.html new file mode 100644 index 00000000..7a61ce65 --- /dev/null +++ b/_includes/organisation.html @@ -0,0 +1,90 @@ +
+
+ +
+
+
+ +

Organisational Chart

+ + +
+ + +
+
+
\ No newline at end of file diff --git a/about/organisation.md b/about/organisation.md new file mode 100644 index 00000000..7ec8455d --- /dev/null +++ b/about/organisation.md @@ -0,0 +1,4 @@ +--- +layout: master +include: organisation +--- \ No newline at end of file diff --git a/assets/.DS_Store b/assets/.DS_Store index c4fa3d72c3b3237cdc53ca97cf0241a6f163f3ad..f9f82ec43a46d6d5bb219414a159b402b8478166 100644 GIT binary patch delta 392 zcmZoEXepTB&!{pnAcB!`vOFilA+$jK}&F)+Br$i&RT%Er#Y z$;HjX%jfRl?#bhg!-;BQ9E=K3(-{ajF;~1^`4Z!0h-$bKePFsFG~=Dgf)YKPDaFY- zN%{FX44bD)l(A22VBO5EFom7*)Z_)~4Lp+7)kcPf2098BMn;phHDnoQP2Q_0&p3N> QgM=)a&dqEFGa=ei068yJ-T(jq delta 400 zcmZoEXepTB&!{{xAcB!$;ys&ZNaV3^ z=2n=(&UkY20`&%NiRx-2GXot3V-w5CIvTQ!Gbis=lxLhZIatC3s5XmzGrPeIh}skY D14mN! diff --git a/assets/css/neic-styles.css b/assets/css/neic-styles.css index 6869a14f..633e9c2d 100644 --- a/assets/css/neic-styles.css +++ b/assets/css/neic-styles.css @@ -862,7 +862,7 @@ section.blue-box ul li{ } .with-border {} section.organisation { - padding: 80px 0px; + padding: 80px 0px 20px; } section.organisation .left-org{ width: 60%; @@ -873,7 +873,7 @@ section.organisation .right-org{ width: 40%; float: left; } -section.organisation .right-org .image-block { padding: 0px 0 0 30px;} +section.organisation .right-org .image-block { padding: 80px 0 0 30px;} section.organisation h2{ margin: 0 0 30px; color: #008c88; @@ -890,6 +890,50 @@ section.organisation p{ letter-spacing: 1px; font-size: 13px; } +section.organisation .btn{ + text-transform: uppercase; + font-weight: 700; + font-family: 'Roboto', sans-serif; + font-size: 14px; + margin-top: 30px; + line-height: 35px; + text-decoration: none; + color: #008c88; + text-align: center; + display: block; + width: 250px; + border: 2px solid #008c88; + border-radius: 0; +} + +section.organisational-chart { + padding: 50px 0px 20px; +} +section.organisational-chart body{ + width: 100%; + height: 100%; + padding: 0px; + margin: 0px; + overflow: hidden; + text-align: center; + font-family: Helvetica; + } + +section.organisational-chart h2{ + margin: 0 0 27; + color: #008c88; + text-transform: uppercase; + font-weight: 700; + font-family: 'Roboto', sans-serif; + letter-spacing: 4px; + font-size: 40px; +} +section.organisational-chart #tree{ + height: 490px; + padding: 0px; + margin: 0px; + } + section.wys-editer { padding: 50px 0px; } diff --git a/assets/images/.DS_Store b/assets/images/.DS_Store index a22f30181c7754921f14a6b7fca6983f36711db9..d1040133dc94ae5b24ca8d44b72eb88da87def23 100644 GIT binary patch delta 3301 zcmeH}U2GIp6vxk*e$CPuJKJu*OIui>m2ShbW!v&0Y(Jn~3TbJ#?UokW-JNMWVLH>! zOt+K<79t5RqHX3uF&cvKfF^3pBB(I}#zYN?AzB~6L;^neU^FH~B~hbycXlgORDAF& zVIJn*bMBpc&&>Zf=iDQ+cw`o5izqlcS5jj=2mq-79KaN4UP%ef4OJM<=2Rn-vKnVs zmldUv3F$Bn0x0Azfxv4aDX1tC7=6_0=;4BtjA#a(N~7I4ZFMq|7H$ekN)RBW*m$+Z zW?|TeeBHjDUdHHHn`_*tnTT+cn$Rgo0bL9W%>iA|IIz$!XB8}6zOu^cUcafSWqZdw zXU)#B(Y}Bd5@cSKM|#7eCI%(JCkMs^D>^Ke_)~>NEbE^P ziW8HfKF!%_I_@nkW0?V-?6xCE;bY73+-tP?fW3@0PNvu*6_qUG)5QG(7f6gasu{+& zSCn~9ODw*|#jxE{ASg&2Z!uS{tz+2Uu%K$9B6DpC=Z0K{^@o(PF%rC%@NM?6?4DQ% z+XI^3J}$^4hW8WUHJ7n%Y+r1!f#(IDcyp}T9P4G} za0Nbv8}KFEg4^%|{0Ki`I%c62voQxt@DZ#+2UcS(HewSt;|}aZA9iC84kC}kID(@% zfm1k*`*8-3;N$oNK8dq<9G}NicshbF;am7NUcig^0e+10_z8Z7*YO74#INu>{2p&p zOQ;;mM&(kK)Ea6%wV7%)-+;oztMnz>L_>K==Po!2e&Z&7)NF8E5;fiFyoOXtYFfH+ zu_i4>! zu&B6%wKFSdf(e&qnw88dngGJ3n`Sk;nkEc#RNQ1->{<%}k4rJlYPQ}&b7&eHm`5!H zL9Qazv`d*x!ee}oCUy%=DB@^)^3&X}+?QbIiR;mW4MgBA z*n%Cn6T67aF_DKbh#?eEMuiBiqK*gfARfZQ_!trU7?C?B_A~e_K8Gjj@eICzFJctW z;yFBzZ{Rz48L!|~GtLD`+mdmcEnYL;weBsvOVn_eDoctyLS|spk-g7?4N<22MAlq* z2n!63szTb>NR1ZLmO-vyX2$JwI?C6$+y@-xGwWQW?{?K27bv%p2_kXztu||JZeG4Ew;;Qyc#z8p210vBRAo};n-ob=8>LAh{s$^k-jE`9 zs6tp2ru@3FPwyf*WRS~V^gyS;?+NxVEaICUCzEW8Cbg)7Aoq``BHundtO>gRj(%Tk zyO63#Qir06I!QNu1KKFrUKhr^@~{$1u#w-)@%IH(H6V`&jnlj1iK|_1RCHY#^NS?x zSg7$Wy2b+`l2h%QzcF>N5RA+o2X~-F>O}0K`(vr9NfpSQCsTKuZo6kNDJKn8&;VU9 z026Qso`O^G3S5E@;dA&FenuAa2y3x);>J2cn-{kc!g_JYTxS7}64OrJQ8bo0YjEYS zg{7z0zwj$RC@lX-VaccZJ%-|5@o(3Yp1)jAny6N4=OV&(CD}^&JB{Nt4zobb6o7o=&AJMsJjEVmxHD*!P-S=L`I_2# zlIPdeEz0w*=ybJ=NLA3 z3Dz2o?y*8i8ez8CS+Cb+uk~&|>9Wt(dg?a2>pdVGkiWVO2i)p&~X#aFjo1E67Czw+dS6I&aTnBZ^hm=56 z-5XJ~Cp1+N*%IG}XUeFP4w;#qQ!2kJ=@+V~OYYXSr&N&zBwzB$8o5^Peo_l764O)f z*2@jFClm;(A&DueKWdV<(!Q8FrE8I}#5z)o+huDa2N{+`mS_=Cp18f`Jd7e{H%hES zi8Iz|i5F+o0$<`0``PS8qr$jQ(+FzZbUTdeb>+4G;6zB%qi**qgbYjOnk-RTE6a3U zU;n`1(4i5=rgin88VW?UnCjJRUZsM{Gk$fZ~*ap3DEwdk@0bUNL@-%@lih= zHp%Y^=+VvzHEgb~`B@Fmo-6lJrDjegUI<=suBsB@XIifho0fCag}aq}LCM z;t0!5uA95h+!5_;~B*9EMCBiSj0{2o5S$GCz|aTP202H)a)+`v!x z8NcE;+`=D%MWDhuAzN?=Rl+90CF~H|gag8$Fd~fcR_B+1R3wMfF&%_shPT00#Lc?9 z?eX@Gmj5to<-eQtTDIAtc^j;c+8kw@+}@_`KBGOaJ1&>l@0jvlv-a@*RF8}1oM2fi z=A5AN#!`{@C(BIB$|^29*qW52)ioj?224mwnR@Ca-tsIXEvp;3L`ukyZIgKKGlwOu zOIo-lNkQqZR=&?N6YpZZ57f`eRdS8|KyGrVf58F?HaIv+51Oze3Db{ObYedapbI@1 z#t4oe$gz$ij0h&7bEqdd);XNQJf6ez9PP_^1+U_Dyn+04IFEO50hh3Z%lMEZ{sdp( zYpf=g8?VEtt+FO6D^6vl=1skk)tt-6ccQ3yqlK9?=lGAuBv@m=|K0dQuj75om^6{I Rxgr^jHm@!If3E3w_#2U_$L9b5 diff --git a/assets/images/news/.DS_Store b/assets/images/news/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0