Fixed settings panel - webapp reloading if a value has changed
This commit is contained in:
parent
7746bdd562
commit
6f3561722c
@ -2,11 +2,11 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="e7c9c2bb-66f1-4e37-904c-d33d8c113bde" name="Default" comment="">
|
<list default="true" id="e7c9c2bb-66f1-4e37-904c-d33d8c113bde" name="Default" comment="">
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/calendarimporter.iml" afterPath="$PROJECT_DIR$/.idea/calendarimporter.iml" />
|
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/js/data/CalendarHelper.js" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/config.php" afterPath="$PROJECT_DIR$/config.php" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/plugin.calendarimporter.js" afterPath="$PROJECT_DIR$/js/plugin.calendarimporter.js" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/data/Actions.js" afterPath="$PROJECT_DIR$/js/data/Actions.js" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/php/module.calendar.php" afterPath="$PROJECT_DIR$/php/module.calendar.php" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/dialogs/ImportPanel.js" afterPath="$PROJECT_DIR$/js/dialogs/ImportPanel.js" />
|
||||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/php/plugin.calendarimporter.php" afterPath="$PROJECT_DIR$/php/plugin.calendarimporter.php" />
|
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/js/settings/SettingsWidget.js" afterPath="$PROJECT_DIR$/js/settings/SettingsWidget.js" />
|
||||||
</list>
|
</list>
|
||||||
<ignored path="calendarimporter.iws" />
|
<ignored path="calendarimporter.iws" />
|
||||||
<ignored path=".idea/workspace.xml" />
|
<ignored path=".idea/workspace.xml" />
|
||||||
@ -27,46 +27,33 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="FileEditorManager">
|
<component name="FileEditorManager">
|
||||||
<leaf>
|
<leaf>
|
||||||
<file leaf-file-name="plugin.calendarimporter.php" pinned="false" current-in-tab="false">
|
<file leaf-file-name="SettingsWidget.js" pinned="false" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/php/plugin.calendarimporter.php">
|
<entry file="file://$PROJECT_DIR$/js/settings/SettingsWidget.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="15">
|
<state relative-caret-position="700">
|
||||||
<caret line="35" column="29" selection-start-line="35" selection-start-column="29" selection-end-line="35" selection-end-column="29" />
|
<caret line="113" column="34" selection-start-line="113" selection-start-column="34" selection-end-line="113" selection-end-column="34" />
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="module.calendar.php" pinned="false" current-in-tab="true">
|
<file leaf-file-name="ImportPanel.js" pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/php/module.calendar.php">
|
<entry file="file://$PROJECT_DIR$/js/dialogs/ImportPanel.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="757">
|
<state relative-caret-position="332">
|
||||||
<caret line="621" column="18" selection-start-line="621" selection-start-column="18" selection-end-line="621" selection-end-column="18" />
|
<caret line="245" column="12" selection-start-line="245" selection-start-column="12" selection-end-line="245" selection-end-column="226" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="n#randomstring#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
<element signature="n#!!doc" expanded="true" />
|
||||||
<element signature="n#getDurationStringFromMintues#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
|
||||||
<element signature="n#exportCalendar#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
|
||||||
<element signature="n#parseCalendarToArray#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="plugin.calendarimporter.js" pinned="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/js/plugin.calendarimporter.js">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="287">
|
|
||||||
<caret line="107" column="19" selection-start-line="107" selection-start-column="17" selection-end-line="107" selection-end-column="19" />
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="Actions.js" pinned="false" current-in-tab="false">
|
<file leaf-file-name="Actions.js" pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/js/data/Actions.js">
|
<entry file="file://$PROJECT_DIR$/js/data/Actions.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="413">
|
<state relative-caret-position="-6">
|
||||||
<caret line="40" column="6" selection-start-line="40" selection-start-column="4" selection-end-line="40" selection-end-column="6" />
|
<caret line="107" column="8" selection-start-line="107" selection-start-column="8" selection-end-line="107" selection-end-column="8" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="n#!!doc" expanded="true" />
|
<element signature="n#!!doc" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
@ -74,50 +61,15 @@
|
|||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="ResponseHandler.js" pinned="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/js/data/ResponseHandler.js">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="-456">
|
|
||||||
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
|
||||||
<folding>
|
|
||||||
<element signature="n#!!doc" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="composer.json" pinned="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/php/composer.json">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="0">
|
|
||||||
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="config.php" pinned="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/config.php">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="135">
|
|
||||||
<caret line="9" column="4" selection-start-line="9" selection-start-column="4" selection-end-line="9" selection-end-column="4" />
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="upload.php" pinned="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/php/upload.php">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="0">
|
|
||||||
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
</leaf>
|
</leaf>
|
||||||
</component>
|
</component>
|
||||||
|
<component name="FileTemplateManagerImpl">
|
||||||
|
<option name="RECENT_TEMPLATES">
|
||||||
|
<list>
|
||||||
|
<option value="JavaScript File" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
<component name="Git.Settings">
|
<component name="Git.Settings">
|
||||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
</component>
|
</component>
|
||||||
@ -128,6 +80,10 @@
|
|||||||
<option value="$PROJECT_DIR$/config.php" />
|
<option value="$PROJECT_DIR$/config.php" />
|
||||||
<option value="$PROJECT_DIR$/js/plugin.calendarimporter.js" />
|
<option value="$PROJECT_DIR$/js/plugin.calendarimporter.js" />
|
||||||
<option value="$PROJECT_DIR$/php/module.calendar.php" />
|
<option value="$PROJECT_DIR$/php/module.calendar.php" />
|
||||||
|
<option value="$PROJECT_DIR$/js/data/CalendarHelper.js" />
|
||||||
|
<option value="$PROJECT_DIR$/js/data/Actions.js" />
|
||||||
|
<option value="$PROJECT_DIR$/js/dialogs/ImportPanel.js" />
|
||||||
|
<option value="$PROJECT_DIR$/js/settings/SettingsWidget.js" />
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
@ -198,7 +154,7 @@
|
|||||||
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
|
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
|
||||||
</PATH_ELEMENT>
|
</PATH_ELEMENT>
|
||||||
<PATH_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
<option name="myItemId" value="php" />
|
<option name="myItemId" value="js" />
|
||||||
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
|
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
|
||||||
</PATH_ELEMENT>
|
</PATH_ELEMENT>
|
||||||
</PATH>
|
</PATH>
|
||||||
@ -215,6 +171,50 @@
|
|||||||
<option name="myItemId" value="js" />
|
<option name="myItemId" value="js" />
|
||||||
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
|
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
|
||||||
</PATH_ELEMENT>
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="settings" />
|
||||||
|
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
|
<PATH>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="calendarimporter" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="calendarimporter" />
|
||||||
|
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="js" />
|
||||||
|
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="settings" />
|
||||||
|
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="ui" />
|
||||||
|
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
</PATH>
|
||||||
|
<PATH>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="calendarimporter" />
|
||||||
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="calendarimporter" />
|
||||||
|
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="js" />
|
||||||
|
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
|
<PATH_ELEMENT>
|
||||||
|
<option name="myItemId" value="dialogs" />
|
||||||
|
<option name="myItemType" value="com.jetbrains.php.projectView.PhpTreeStructureProvider$1" />
|
||||||
|
</PATH_ELEMENT>
|
||||||
</PATH>
|
</PATH>
|
||||||
<PATH>
|
<PATH>
|
||||||
<PATH_ELEMENT>
|
<PATH_ELEMENT>
|
||||||
@ -296,18 +296,18 @@
|
|||||||
<option name="number" value="Default" />
|
<option name="number" value="Default" />
|
||||||
<option name="presentableId" value="Default" />
|
<option name="presentableId" value="Default" />
|
||||||
<updated>1477949602474</updated>
|
<updated>1477949602474</updated>
|
||||||
<workItem from="1477949603566" duration="1683000" />
|
<workItem from="1477949603566" duration="4096000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="TimeTrackingManager">
|
<component name="TimeTrackingManager">
|
||||||
<option name="totallyTimeSpent" value="1683000" />
|
<option name="totallyTimeSpent" value="4096000" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ToolWindowManager">
|
<component name="ToolWindowManager">
|
||||||
<frame x="65" y="24" width="1792" height="999" extended-state="6" />
|
<frame x="65" y="24" width="1792" height="999" extended-state="6" />
|
||||||
<editor active="false" />
|
<editor active="true" />
|
||||||
<layout>
|
<layout>
|
||||||
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
||||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
|
||||||
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
|
||||||
@ -338,7 +338,9 @@
|
|||||||
<option name="myLimit" value="2678400000" />
|
<option name="myLimit" value="2678400000" />
|
||||||
</component>
|
</component>
|
||||||
<component name="XDebuggerManager">
|
<component name="XDebuggerManager">
|
||||||
<breakpoint-manager />
|
<breakpoint-manager>
|
||||||
|
<option name="time" value="1" />
|
||||||
|
</breakpoint-manager>
|
||||||
<watches-manager />
|
<watches-manager />
|
||||||
</component>
|
</component>
|
||||||
<component name="editorHistoryManager">
|
<component name="editorHistoryManager">
|
||||||
@ -366,14 +368,6 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/config.php">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="135">
|
|
||||||
<caret line="9" column="4" selection-start-line="9" selection-start-column="4" selection-end-line="9" selection-end-column="4" />
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/php/upload.php">
|
<entry file="file://$PROJECT_DIR$/php/upload.php">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="0">
|
<state relative-caret-position="0">
|
||||||
@ -382,16 +376,6 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/js/data/Actions.js">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="413">
|
|
||||||
<caret line="40" column="6" selection-start-line="40" selection-start-column="4" selection-end-line="40" selection-end-column="6" />
|
|
||||||
<folding>
|
|
||||||
<element signature="n#!!doc" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/js/data/ResponseHandler.js">
|
<entry file="file://$PROJECT_DIR$/js/data/ResponseHandler.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="-456">
|
<state relative-caret-position="-456">
|
||||||
@ -402,14 +386,6 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/php/plugin.calendarimporter.php">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="15">
|
|
||||||
<caret line="35" column="29" selection-start-line="35" selection-start-column="29" selection-end-line="35" selection-end-column="29" />
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/js/plugin.calendarimporter.js">
|
<entry file="file://$PROJECT_DIR$/js/plugin.calendarimporter.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="287">
|
<state relative-caret-position="287">
|
||||||
@ -420,16 +396,91 @@
|
|||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/php/module.calendar.php">
|
<entry file="file://$PROJECT_DIR$/php/module.calendar.php">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="757">
|
<state relative-caret-position="1057">
|
||||||
<caret line="621" column="18" selection-start-line="621" selection-start-column="18" selection-end-line="621" selection-end-column="18" />
|
<caret line="467" column="64" selection-start-line="467" selection-start-column="64" selection-end-line="467" selection-end-column="64" />
|
||||||
<folding>
|
<folding>
|
||||||
|
<element signature="n#__construct#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
||||||
|
<element signature="n#execute#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
||||||
<element signature="n#randomstring#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
<element signature="n#randomstring#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
||||||
<element signature="n#getDurationStringFromMintues#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
<element signature="n#getDurationStringFromMintues#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
||||||
<element signature="n#exportCalendar#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
<element signature="n#exportCalendar#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
||||||
|
<element signature="n#importCalendar#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
||||||
|
<element signature="n#getAttachmentPath#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
||||||
|
<element signature="n#loadCalendar#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
||||||
<element signature="n#parseCalendarToArray#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
<element signature="n#parseCalendarToArray#0;n#CalendarModule#0;n#!!top" expanded="false" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/config.php">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="60">
|
||||||
|
<caret line="4" column="60" selection-start-line="4" selection-start-column="12" selection-end-line="4" selection-end-column="60" />
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/php/plugin.calendarimporter.php">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="569">
|
||||||
|
<caret line="82" column="40" selection-start-line="82" selection-start-column="29" selection-end-line="82" selection-end-column="40" />
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/js/settings/SettingsCalSyncWidget.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="0">
|
||||||
|
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/js/dialogs/ImportContentPanel.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="-171">
|
||||||
|
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||||
|
<folding>
|
||||||
|
<element signature="n#!!doc" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/js/data/CalendarHelper.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="0">
|
||||||
|
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/js/dialogs/ImportPanel.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="332">
|
||||||
|
<caret line="245" column="12" selection-start-line="245" selection-start-column="12" selection-end-line="245" selection-end-column="226" />
|
||||||
|
<folding>
|
||||||
|
<element signature="n#!!doc" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/js/data/Actions.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="-6">
|
||||||
|
<caret line="107" column="8" selection-start-line="107" selection-start-column="8" selection-end-line="107" selection-end-column="8" />
|
||||||
|
<folding>
|
||||||
|
<element signature="n#!!doc" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/js/settings/SettingsWidget.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="700">
|
||||||
|
<caret line="113" column="34" selection-start-line="113" selection-start-column="34" selection-end-line="113" selection-end-column="34" />
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
@ -61,5 +61,118 @@ Zarafa.plugins.calendarimporter.data.Actions = {
|
|||||||
|
|
||||||
downloadFrame.dom.contentWindow.location = link;
|
downloadFrame.dom.contentWindow.location = link;
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all calendar folders.
|
||||||
|
* @param {boolean} asDropdownStore If true, a simple array store will be returned.
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
getAllCalendarFolders: function (asDropdownStore) {
|
||||||
|
asDropdownStore = Ext.isEmpty(asDropdownStore) ? false : asDropdownStore;
|
||||||
|
|
||||||
|
var allFolders = [];
|
||||||
|
|
||||||
|
var inbox = container.getHierarchyStore().getDefaultStore();
|
||||||
|
var pub = container.getHierarchyStore().getPublicStore();
|
||||||
|
|
||||||
|
if (!Ext.isEmpty(inbox.subStores) && inbox.subStores.folders.totalLength > 0) {
|
||||||
|
for (var i = 0; i < inbox.subStores.folders.totalLength; i++) {
|
||||||
|
var folder = inbox.subStores.folders.getAt(i);
|
||||||
|
if (folder.get("container_class") == "IPF.Appointment") {
|
||||||
|
if (asDropdownStore) {
|
||||||
|
allFolders.push([
|
||||||
|
folder.get("entryid"),
|
||||||
|
folder.get("display_name")
|
||||||
|
]);
|
||||||
|
} else {
|
||||||
|
allFolders.push({
|
||||||
|
display_name : folder.get("display_name"),
|
||||||
|
entryid : folder.get("entryid"),
|
||||||
|
store_entryid: folder.get("store_entryid"),
|
||||||
|
is_public : false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Ext.isEmpty(pub.subStores) && pub.subStores.folders.totalLength > 0) {
|
||||||
|
for (var j = 0; j < pub.subStores.folders.totalLength; j++) {
|
||||||
|
var folder = pub.subStores.folders.getAt(j);
|
||||||
|
if (folder.get("container_class") == "IPF.Appointment") {
|
||||||
|
if (asDropdownStore) {
|
||||||
|
allFolders.push([
|
||||||
|
folder.get("entryid"),
|
||||||
|
folder.get("display_name") + " (Public)"
|
||||||
|
]);
|
||||||
|
} else {
|
||||||
|
allFolders.push({
|
||||||
|
display_name : folder.get("display_name"),
|
||||||
|
entryid : folder.get("entryid"),
|
||||||
|
store_entryid: folder.get("store_entryid"),
|
||||||
|
is_public : true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (asDropdownStore) {
|
||||||
|
return allFolders.sort(Zarafa.plugins.calendarimporter.data.Actions.dynamicSort(1));
|
||||||
|
} else {
|
||||||
|
return allFolders;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a calendar folder element by name.
|
||||||
|
* @param {string} name
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
getCalendarFolderByName: function (name) {
|
||||||
|
var folders = Zarafa.plugins.calendarimporter.data.Actions.getAllCalendarFolders(false);
|
||||||
|
|
||||||
|
for (var i = 0; i < folders.length; i++) {
|
||||||
|
if (folders[i].display_name == name) {
|
||||||
|
return folders[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return container.getHierarchyStore().getDefaultFolder('calendar');
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a calendar folder element by entryid.
|
||||||
|
* @param {string} entryid
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
getCalendarFolderByEntryid: function (entryid) {
|
||||||
|
var folders = Zarafa.plugins.calendarimporter.data.Actions.getAllCalendarFolders(false);
|
||||||
|
|
||||||
|
for (var i = 0; i < folders.length; i++) {
|
||||||
|
if (folders[i].entryid == entryid) {
|
||||||
|
return folders[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return container.getHierarchyStore().getDefaultFolder('calendar');
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Dynamic sort function, sorts by property name.
|
||||||
|
* @param {string|int} property
|
||||||
|
* @returns {Function}
|
||||||
|
*/
|
||||||
|
dynamicSort: function (property) {
|
||||||
|
var sortOrder = 1;
|
||||||
|
if (property[0] === "-") {
|
||||||
|
sortOrder = -1;
|
||||||
|
property = property.substr(1);
|
||||||
|
}
|
||||||
|
return function (a, b) {
|
||||||
|
var result = (a[property].toLowerCase() < b[property].toLowerCase()) ? -1 : (a[property].toLowerCase() > b[property].toLowerCase()) ? 1 : 0;
|
||||||
|
return result * sortOrder;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
@ -158,119 +158,6 @@ Zarafa.plugins.calendarimporter.dialogs.ImportPanel = Ext.extend(Ext.Panel, {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
|
||||||
* Get all calendar folders.
|
|
||||||
* @param {boolean} asDropdownStore If true, a simple array store will be returned.
|
|
||||||
* @returns {*}
|
|
||||||
*/
|
|
||||||
getAllCalendarFolders: function (asDropdownStore) {
|
|
||||||
asDropdownStore = Ext.isEmpty(asDropdownStore) ? false : asDropdownStore;
|
|
||||||
|
|
||||||
var allFolders = [];
|
|
||||||
|
|
||||||
var inbox = container.getHierarchyStore().getDefaultStore();
|
|
||||||
var pub = container.getHierarchyStore().getPublicStore();
|
|
||||||
|
|
||||||
if (!Ext.isEmpty(inbox.subStores) && inbox.subStores.folders.totalLength > 0) {
|
|
||||||
for (var i = 0; i < inbox.subStores.folders.totalLength; i++) {
|
|
||||||
var folder = inbox.subStores.folders.getAt(i);
|
|
||||||
if (folder.get("container_class") == "IPF.Appointment") {
|
|
||||||
if (asDropdownStore) {
|
|
||||||
allFolders.push([
|
|
||||||
folder.get("entryid"),
|
|
||||||
folder.get("display_name")
|
|
||||||
]);
|
|
||||||
} else {
|
|
||||||
allFolders.push({
|
|
||||||
display_name : folder.get("display_name"),
|
|
||||||
entryid : folder.get("entryid"),
|
|
||||||
store_entryid: folder.get("store_entryid"),
|
|
||||||
is_public : false
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Ext.isEmpty(pub.subStores) && pub.subStores.folders.totalLength > 0) {
|
|
||||||
for (var j = 0; j < pub.subStores.folders.totalLength; j++) {
|
|
||||||
var folder = pub.subStores.folders.getAt(j);
|
|
||||||
if (folder.get("container_class") == "IPF.Appointment") {
|
|
||||||
if (asDropdownStore) {
|
|
||||||
allFolders.push([
|
|
||||||
folder.get("entryid"),
|
|
||||||
folder.get("display_name") + " (Public)"
|
|
||||||
]);
|
|
||||||
} else {
|
|
||||||
allFolders.push({
|
|
||||||
display_name : folder.get("display_name"),
|
|
||||||
entryid : folder.get("entryid"),
|
|
||||||
store_entryid: folder.get("store_entryid"),
|
|
||||||
is_public : true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (asDropdownStore) {
|
|
||||||
return allFolders.sort(this.dynamicSort(1));
|
|
||||||
} else {
|
|
||||||
return allFolders;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Dynamic sort function, sorts by property name.
|
|
||||||
* @param {string|int} property
|
|
||||||
* @returns {Function}
|
|
||||||
*/
|
|
||||||
dynamicSort: function (property) {
|
|
||||||
var sortOrder = 1;
|
|
||||||
if (property[0] === "-") {
|
|
||||||
sortOrder = -1;
|
|
||||||
property = property.substr(1);
|
|
||||||
}
|
|
||||||
return function (a, b) {
|
|
||||||
var result = (a[property].toLowerCase() < b[property].toLowerCase()) ? -1 : (a[property].toLowerCase() > b[property].toLowerCase()) ? 1 : 0;
|
|
||||||
return result * sortOrder;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return a calendar folder element by name.
|
|
||||||
* @param {string} name
|
|
||||||
* @returns {*}
|
|
||||||
*/
|
|
||||||
getCalendarFolderByName: function (name) {
|
|
||||||
var folders = this.getAllCalendarFolders(false);
|
|
||||||
|
|
||||||
for (var i = 0; i < folders.length; i++) {
|
|
||||||
if (folders[i].display_name == name) {
|
|
||||||
return folders[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return container.getHierarchyStore().getDefaultFolder('calendar');
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return a calendar folder element by entryid.
|
|
||||||
* @param {string} entryid
|
|
||||||
* @returns {*}
|
|
||||||
*/
|
|
||||||
getCalendarFolderByEntryid: function (entryid) {
|
|
||||||
var folders = this.getAllCalendarFolders(false);
|
|
||||||
|
|
||||||
for (var i = 0; i < folders.length; i++) {
|
|
||||||
if (folders[i].entryid == entryid) {
|
|
||||||
return folders[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return container.getHierarchyStore().getDefaultFolder('calendar');
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reloads the data of the grid
|
* Reloads the data of the grid
|
||||||
* @private
|
* @private
|
||||||
@ -349,14 +236,14 @@ Zarafa.plugins.calendarimporter.dialogs.ImportPanel = Ext.extend(Ext.Panel, {
|
|||||||
},
|
},
|
||||||
|
|
||||||
createSelectBox: function() {
|
createSelectBox: function() {
|
||||||
var myStore = this.getAllCalendarFolders(true);
|
var myStore = Zarafa.plugins.calendarimporter.data.Actions.getAllCalendarFolders(true);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
xtype: "selectbox",
|
xtype: "selectbox",
|
||||||
ref: 'calendarselector',
|
ref: 'calendarselector',
|
||||||
editable: false,
|
editable: false,
|
||||||
name: "choosen_calendar",
|
name: "choosen_calendar",
|
||||||
value: Ext.isEmpty(this.folder) ? this.getCalendarFolderByName(container.getSettingsModel().get("zarafa/v1/plugins/calendarimporter/default_calendar")).entryid : this.folder,
|
value: Ext.isEmpty(this.folder) ? Zarafa.plugins.calendarimporter.data.Actions.getCalendarFolderByName(container.getSettingsModel().get("zarafa/v1/plugins/calendarimporter/default_calendar")).entryid : this.folder,
|
||||||
width: 100,
|
width: 100,
|
||||||
fieldLabel: "Select folder",
|
fieldLabel: "Select folder",
|
||||||
store: myStore,
|
store: myStore,
|
||||||
@ -620,7 +507,7 @@ Zarafa.plugins.calendarimporter.dialogs.ImportPanel = Ext.extend(Ext.Panel, {
|
|||||||
buttons : Zarafa.common.dialogs.MessageBox.OK
|
buttons : Zarafa.common.dialogs.MessageBox.OK
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
var calendarFolder = this.getCalendarFolderByEntryid(calValue);
|
var calendarFolder = Zarafa.plugins.calendarimporter.data.Actions.getCalendarFolderByEntryid(calValue);
|
||||||
|
|
||||||
this.loadMask.show();
|
this.loadMask.show();
|
||||||
var uids = [];
|
var uids = [];
|
||||||
|
@ -40,43 +40,14 @@ Zarafa.plugins.calendarimporter.settings.SettingsWidget = Ext.extend(Zarafa.sett
|
|||||||
},
|
},
|
||||||
|
|
||||||
createSelectBox: function() {
|
createSelectBox: function() {
|
||||||
var defaultFolder = container.getHierarchyStore().getDefaultFolder('calendar'); // @type: Zarafa.hierarchy.data.MAPIFolderRecord
|
var myStore = Zarafa.plugins.calendarimporter.data.Actions.getAllCalendarFolders(true);
|
||||||
var subFolders = defaultFolder.getChildren();
|
|
||||||
var myStore = [];
|
|
||||||
|
|
||||||
/* add all local calendar folders */
|
|
||||||
var i = 0;
|
|
||||||
myStore.push(new Array(defaultFolder.getDefaultFolderKey(), defaultFolder.getDisplayName()));
|
|
||||||
for(i = 0; i < subFolders.length; i++) {
|
|
||||||
/* Store all subfolders */
|
|
||||||
myStore.push(new Array(subFolders[i].getDisplayName(), subFolders[i].getDisplayName(), false)); // 3rd field = isPublicfolder
|
|
||||||
}
|
|
||||||
|
|
||||||
/* add all shared calendar folders */
|
|
||||||
var pubStore = container.getHierarchyStore().getPublicStore();
|
|
||||||
|
|
||||||
if(typeof pubStore !== "undefined") {
|
|
||||||
try {
|
|
||||||
var pubFolder = pubStore.getDefaultFolder("publicfolders");
|
|
||||||
var pubSubFolders = pubFolder.getChildren();
|
|
||||||
|
|
||||||
for(i = 0; i < pubSubFolders.length; i++) {
|
|
||||||
if(pubSubFolders[i].isContainerClass("IPF.Appointment")){
|
|
||||||
myStore.push(new Array(pubSubFolders[i].getDisplayName(), pubSubFolders[i].getDisplayName() + " [Shared]", true)); // 3rd field = isPublicfolder
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
console.log("Error opening the shared folder...");
|
|
||||||
console.log(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
xtype: "selectbox",
|
xtype: "selectbox",
|
||||||
ref : 'defaultCalendar',
|
ref : 'defaultCalendar',
|
||||||
editable: false,
|
editable: false,
|
||||||
name: "zarafa/v1/plugins/calendarimporter/default_calendar",
|
name: "zarafa/v1/plugins/calendarimporter/default_calendar",
|
||||||
value: container.getSettingsModel().get("zarafa/v1/plugins/calendarimporter/default_calendar"),
|
value: Zarafa.plugins.calendarimporter.data.Actions.getCalendarFolderByName(container.getSettingsModel().get("zarafa/v1/plugins/calendarimporter/default_calendar")).entryid,
|
||||||
width: 100,
|
width: 100,
|
||||||
fieldLabel: "Default calender",
|
fieldLabel: "Default calender",
|
||||||
store: myStore,
|
store: myStore,
|
||||||
@ -128,9 +99,114 @@ Zarafa.plugins.calendarimporter.settings.SettingsWidget = Ext.extend(Zarafa.sett
|
|||||||
* @param {Zarafa.settings.SettingsModel} settingsModel The settings to update
|
* @param {Zarafa.settings.SettingsModel} settingsModel The settings to update
|
||||||
*/
|
*/
|
||||||
updateSettings : function(settingsModel) {
|
updateSettings : function(settingsModel) {
|
||||||
|
// check if the user changed a value
|
||||||
|
var changed = false;
|
||||||
|
|
||||||
|
if(settingsModel.get(this.enableSync.name) != this.enableSync.getValue()) {
|
||||||
|
changed = true;
|
||||||
|
} else if(settingsModel.get(this.defaultCalendar.name) != this.defaultCalendar.getValue()) {
|
||||||
|
changed = true;
|
||||||
|
} else if(settingsModel.get(this.defaultTimezone.name) != this.defaultTimezone.getValue()) {
|
||||||
|
changed = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(changed) {
|
||||||
|
// Really save changes
|
||||||
settingsModel.set(this.enableSync.name, this.enableSync.getValue());
|
settingsModel.set(this.enableSync.name, this.enableSync.getValue());
|
||||||
settingsModel.set(this.defaultCalendar.name, this.defaultCalendar.getValue());
|
settingsModel.set(this.defaultCalendar.name, this.defaultCalendar.getValue());
|
||||||
settingsModel.set(this.defaultTimezone.name, this.defaultTimezone.getValue());
|
settingsModel.set(this.defaultTimezone.name, this.defaultTimezone.getValue());
|
||||||
|
|
||||||
|
this.onUpdateSettings();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called after the {@link Zarafa.settings.SettingsModel} fires the {@link Zarafa.settings.SettingsModel#save save}
|
||||||
|
* event to indicate the settings were successfully saved and it will forcefully realod the webapp.
|
||||||
|
* settings which were saved to the server.
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
onUpdateSettings : function()
|
||||||
|
{
|
||||||
|
var message = _('Your WebApp needs to be reloaded to make the changes visible!');
|
||||||
|
message += '<br/><br/>';
|
||||||
|
message += _('WebApp will automatically restart in order for these changes to take effect');
|
||||||
|
message += '<br/>';
|
||||||
|
|
||||||
|
Zarafa.common.dialogs.MessageBox.addCustomButtons({
|
||||||
|
title: _('Restart WebApp'),
|
||||||
|
msg : message,
|
||||||
|
icon: Ext.MessageBox.QUESTION,
|
||||||
|
fn : this.restartWebapp,
|
||||||
|
customButton : [{
|
||||||
|
text : _('Restart'),
|
||||||
|
name : 'restart'
|
||||||
|
}, {
|
||||||
|
text : _('Cancel'),
|
||||||
|
name : 'cancel'
|
||||||
|
}],
|
||||||
|
scope : this
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event handler for {@link #onResetSettings}. This will check if the user
|
||||||
|
* wishes to reset the default settings or not.
|
||||||
|
* @param {String} button The button which user pressed.
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
restartWebapp : function(button)
|
||||||
|
{
|
||||||
|
if (button === 'restart') {
|
||||||
|
var contextModel = this.ownerCt.settingsContext.getModel();
|
||||||
|
var realModel = contextModel.getRealSettingsModel();
|
||||||
|
|
||||||
|
realModel.save();
|
||||||
|
|
||||||
|
this.loadMask = new Zarafa.common.ui.LoadMask(Ext.getBody(), {
|
||||||
|
msg : '<b>' + _('Webapp is reloading, Please wait.') + '</b>'
|
||||||
|
});
|
||||||
|
this.loadMask.show();
|
||||||
|
|
||||||
|
this.mon(realModel, 'save', this.onSettingsSave, this);
|
||||||
|
this.mon(realModel, 'exception', this.onSettingsException, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when the {@link Zarafa.settings.} fires the {@link Zarafa.settings.SettingsModel#save save}
|
||||||
|
* event to indicate the settings were successfully saved and it will forcefully realod the webapp.
|
||||||
|
* @param {Zarafa.settings.SettingsModel} model The model which fired the event.
|
||||||
|
* @param {Object} parameters The key-value object containing the action and the corresponding
|
||||||
|
* settings which were saved to the server.
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
onSettingsSave : function(model, parameters)
|
||||||
|
{
|
||||||
|
this.mun(model, 'save', this.onSettingsSave, this);
|
||||||
|
Zarafa.core.Util.reloadWebapp();
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when the {@link Zarafa.settings.SettingsModel} fires the {@link Zarafa.settings.SettingsModel#exception exception}
|
||||||
|
* event to indicate the settings were not successfully saved.
|
||||||
|
* @param {Zarafa.settings.SettingsModel} model The settings model which fired the event
|
||||||
|
* @param {String} type The value of this parameter will be either 'response' or 'remote'.
|
||||||
|
* @param {String} action Name of the action (see {@link Ext.data.Api#actions}).
|
||||||
|
* @param {Object} options The object containing a 'path' and 'value' field indicating
|
||||||
|
* respectively the Setting and corresponding value for the setting which was being saved.
|
||||||
|
* @param {Object} response The response object as received from the PHP-side
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
onSettingsException : function(model, type, action, options, response)
|
||||||
|
{
|
||||||
|
this.loadMask.hide();
|
||||||
|
|
||||||
|
// Remove event handlers
|
||||||
|
this.mun(model, 'save', this.onSettingsSave, this);
|
||||||
|
this.mun(model, 'exception', this.onSettingsException, this);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user