Fixed filters form. Filters form now submitted automatically when an input changes.
This commit is contained in:
parent
a6d58dfaa6
commit
43e00e935b
@ -2,26 +2,11 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="245751b6-c863-4572-8723-8499964fe105" name="Default Changelist" comment="">
|
<list default="true" id="245751b6-c863-4572-8723-8499964fe105" name="Default Changelist" comment="">
|
||||||
<change afterPath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_create_modal.html" afterDir="false" />
|
<change afterPath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/index.js" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_delete_modal.html" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_update_modal.html" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/management/folders.py" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/index.html" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/management/management.py" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/management/management.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/management/videos.py" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/management/videos.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/models.py" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/models.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/static/YtManagerApp/css/style.css" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/static/YtManagerApp/css/style.css" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/static/YtManagerApp/css/style.css.map" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/static/YtManagerApp/css/style.css.map" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/static/YtManagerApp/css/style.scss" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/static/YtManagerApp/css/style.scss" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/folder_delete_modal.html" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/folder_delete_modal.html" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/modal.html" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/modal.html" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_edit_dialog.html" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/common.js" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/common.js" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/common.js" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/common.js" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/subscription_tree.js" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/subscription_tree.js" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/subscription_tree.js" beforeDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/urls.py" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/urls.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/utils/youtube.py" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/utils/youtube.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/views/controls/modal.py" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/views/controls/modal.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/YtManagerApp/views/index.py" beforeDir="false" afterPath="$PROJECT_DIR$/YtManagerApp/views/index.py" afterDir="false" />
|
|
||||||
</list>
|
</list>
|
||||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
@ -76,11 +61,11 @@
|
|||||||
<entry key="project.open.time.10" value="2" />
|
<entry key="project.open.time.10" value="2" />
|
||||||
<entry key="project.open.time.11" value="1" />
|
<entry key="project.open.time.11" value="1" />
|
||||||
<entry key="project.open.time.14" value="2" />
|
<entry key="project.open.time.14" value="2" />
|
||||||
<entry key="project.open.time.15" value="1" />
|
<entry key="project.open.time.15" value="2" />
|
||||||
<entry key="project.open.time.3" value="1" />
|
<entry key="project.open.time.3" value="1" />
|
||||||
<entry key="project.open.time.8" value="2" />
|
<entry key="project.open.time.8" value="2" />
|
||||||
<entry key="project.open.time.9" value="1" />
|
<entry key="project.open.time.9" value="1" />
|
||||||
<entry key="project.opened" value="11" />
|
<entry key="project.opened" value="12" />
|
||||||
</counts>
|
</counts>
|
||||||
</usages-collector>
|
</usages-collector>
|
||||||
<usages-collector id="statistics.file.extensions.edit">
|
<usages-collector id="statistics.file.extensions.edit">
|
||||||
@ -90,9 +75,9 @@
|
|||||||
<entry key="css" value="40" />
|
<entry key="css" value="40" />
|
||||||
<entry key="default" value="206" />
|
<entry key="default" value="206" />
|
||||||
<entry key="dummy" value="60" />
|
<entry key="dummy" value="60" />
|
||||||
<entry key="html" value="7008" />
|
<entry key="html" value="7013" />
|
||||||
<entry key="ini" value="2545" />
|
<entry key="ini" value="2545" />
|
||||||
<entry key="js" value="9046" />
|
<entry key="js" value="9806" />
|
||||||
<entry key="less" value="38" />
|
<entry key="less" value="38" />
|
||||||
<entry key="py" value="49344" />
|
<entry key="py" value="49344" />
|
||||||
<entry key="py@youtube-channel-manager" value="265" />
|
<entry key="py@youtube-channel-manager" value="265" />
|
||||||
@ -103,9 +88,9 @@
|
|||||||
<counts>
|
<counts>
|
||||||
<entry key="CSS" value="40" />
|
<entry key="CSS" value="40" />
|
||||||
<entry key="CommandLine" value="148" />
|
<entry key="CommandLine" value="148" />
|
||||||
<entry key="HTML" value="7008" />
|
<entry key="HTML" value="7013" />
|
||||||
<entry key="Ini" value="2545" />
|
<entry key="Ini" value="2545" />
|
||||||
<entry key="JavaScript" value="9046" />
|
<entry key="JavaScript" value="9806" />
|
||||||
<entry key="Less" value="38" />
|
<entry key="Less" value="38" />
|
||||||
<entry key="PLAIN_TEXT" value="383" />
|
<entry key="PLAIN_TEXT" value="383" />
|
||||||
<entry key="Python" value="49598" />
|
<entry key="Python" value="49598" />
|
||||||
@ -119,11 +104,11 @@
|
|||||||
<entry key="css" value="4" />
|
<entry key="css" value="4" />
|
||||||
<entry key="default" value="2" />
|
<entry key="default" value="2" />
|
||||||
<entry key="gif" value="1" />
|
<entry key="gif" value="1" />
|
||||||
<entry key="html" value="93" />
|
<entry key="html" value="94" />
|
||||||
<entry key="ini" value="9" />
|
<entry key="ini" value="9" />
|
||||||
<entry key="js" value="21" />
|
<entry key="js" value="23" />
|
||||||
<entry key="less" value="1" />
|
<entry key="less" value="1" />
|
||||||
<entry key="py" value="237" />
|
<entry key="py" value="240" />
|
||||||
<entry key="rnc" value="1" />
|
<entry key="rnc" value="1" />
|
||||||
<entry key="scss" value="23" />
|
<entry key="scss" value="23" />
|
||||||
<entry key="ytmanagerapp_channel" value="3" />
|
<entry key="ytmanagerapp_channel" value="3" />
|
||||||
@ -136,13 +121,13 @@
|
|||||||
<counts>
|
<counts>
|
||||||
<entry key="CSS" value="4" />
|
<entry key="CSS" value="4" />
|
||||||
<entry key="Database Element" value="30" />
|
<entry key="Database Element" value="30" />
|
||||||
<entry key="HTML" value="93" />
|
<entry key="HTML" value="94" />
|
||||||
<entry key="Image" value="1" />
|
<entry key="Image" value="1" />
|
||||||
<entry key="Ini" value="9" />
|
<entry key="Ini" value="9" />
|
||||||
<entry key="JavaScript" value="21" />
|
<entry key="JavaScript" value="23" />
|
||||||
<entry key="Less" value="1" />
|
<entry key="Less" value="1" />
|
||||||
<entry key="PLAIN_TEXT" value="2" />
|
<entry key="PLAIN_TEXT" value="2" />
|
||||||
<entry key="Python" value="237" />
|
<entry key="Python" value="240" />
|
||||||
<entry key="RNG Compact" value="1" />
|
<entry key="RNG Compact" value="1" />
|
||||||
<entry key="SCSS" value="23" />
|
<entry key="SCSS" value="23" />
|
||||||
</counts>
|
</counts>
|
||||||
@ -150,23 +135,14 @@
|
|||||||
</session>
|
</session>
|
||||||
</component>
|
</component>
|
||||||
<component name="FileEditorManager">
|
<component name="FileEditorManager">
|
||||||
<splitter split-orientation="horizontal" split-proportion="0.4618442">
|
<splitter split-orientation="horizontal" split-proportion="0.6894309">
|
||||||
<split-first>
|
<split-first>
|
||||||
<leaf>
|
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||||
<file pinned="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/folder_update_modal.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="136">
|
|
||||||
<caret line="8" column="69" selection-start-line="8" selection-start-column="69" selection-end-line="8" selection-end-column="69" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/views/index.py">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/views/index.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="415">
|
<state relative-caret-position="254">
|
||||||
<caret line="331" column="40" lean-forward="true" selection-start-line="331" selection-start-column="40" selection-end-line="331" selection-end-column="40" />
|
<caret line="153" selection-start-line="153" selection-end-line="153" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#73#0" expanded="true" />
|
<element signature="e#0#73#0" expanded="true" />
|
||||||
<marker date="1539811542770" expanded="true" signature="3131:3310" ph="..." />
|
<marker date="1539811542770" expanded="true" signature="3131:3310" ph="..." />
|
||||||
@ -186,34 +162,22 @@
|
|||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/urls.py">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/management/videos.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="629">
|
<state relative-caret-position="500">
|
||||||
<caret line="55" column="55" selection-start-line="55" selection-start-column="55" selection-end-line="55" selection-end-column="55" />
|
<caret line="55" column="37" selection-start-line="55" selection-start-column="37" selection-end-line="55" selection-end-column="37" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#643#675#0" expanded="true" />
|
<element signature="e#0#71#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/folder_delete_modal.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="306">
|
|
||||||
<caret line="18" lean-forward="true" selection-start-line="18" selection-end-line="18" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/modal.html">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/modal.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="442">
|
<state relative-caret-position="323">
|
||||||
<caret line="26" column="35" selection-start-line="26" selection-start-column="35" selection-end-line="26" selection-end-column="35" />
|
<caret line="19" column="51" selection-start-line="19" selection-start-column="51" selection-end-line="19" selection-end-column="51" />
|
||||||
<folding>
|
|
||||||
<element signature="e#1427#1450#0#HTML" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
@ -221,8 +185,8 @@
|
|||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/views/old_views.py">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/views/old_views.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="503">
|
<state relative-caret-position="1683">
|
||||||
<caret line="102" lean-forward="true" selection-start-line="102" selection-end-line="102" />
|
<caret line="102" selection-start-line="102" selection-end-line="102" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#35#0" expanded="true" />
|
<element signature="e#0#35#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
@ -230,11 +194,32 @@
|
|||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/subscription_tree.js">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/index.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="467">
|
<state relative-caret-position="469">
|
||||||
<caret line="261" column="81" selection-start-line="261" selection-start-column="81" selection-end-line="261" selection-end-column="81" />
|
<caret line="133" column="1" lean-forward="true" selection-start-line="133" selection-start-column="1" selection-end-line="133" selection-end-column="1" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file pinned="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/YtManager/urls.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="391">
|
||||||
|
<caret line="23" lean-forward="true" selection-start-line="23" selection-end-line="23" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#643#679#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file pinned="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/index.html">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="187">
|
||||||
|
<caret line="11" column="48" selection-start-line="11" selection-start-column="48" selection-end-line="11" selection-end-column="48" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
@ -243,19 +228,15 @@
|
|||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_delete_modal.html">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_delete_modal.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="221">
|
<state relative-caret-position="221">
|
||||||
<caret line="13" lean-forward="true" selection-start-line="13" selection-end-line="13" />
|
<caret line="13" selection-start-line="13" selection-end-line="13" />
|
||||||
<folding>
|
|
||||||
<element signature="e#411#417#0#HTML" expanded="true" />
|
|
||||||
<element signature="e#429#435#0#HTML" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file pinned="false" current-in-tab="true">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/utils/youtube.py">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/utils/youtube.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="476">
|
<state relative-caret-position="765">
|
||||||
<caret line="49" column="23" selection-start-line="49" selection-start-column="23" selection-end-line="49" selection-end-column="23" />
|
<caret line="49" column="23" selection-start-line="49" selection-start-column="23" selection-end-line="49" selection-end-column="23" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#43#0" expanded="true" />
|
<element signature="e#0#43#0" expanded="true" />
|
||||||
@ -268,12 +249,12 @@
|
|||||||
</leaf>
|
</leaf>
|
||||||
</split-first>
|
</split-first>
|
||||||
<split-second>
|
<split-second>
|
||||||
<leaf>
|
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||||
<file pinned="false" current-in-tab="true">
|
<file pinned="false" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/models.py">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/models.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="361">
|
<state relative-caret-position="361">
|
||||||
<caret line="33" column="44" lean-forward="true" selection-start-line="33" selection-start-column="44" selection-end-line="33" selection-end-column="44" />
|
<caret line="33" column="44" selection-start-line="33" selection-start-column="44" selection-end-line="33" selection-end-column="44" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#14#0" expanded="true" />
|
<element signature="e#0#14#0" expanded="true" />
|
||||||
<marker date="1539812251317" expanded="true" signature="3991:4134" ph="..." />
|
<marker date="1539812251317" expanded="true" signature="3991:4134" ph="..." />
|
||||||
@ -295,10 +276,10 @@
|
|||||||
<option name="RECENT_TEMPLATES">
|
<option name="RECENT_TEMPLATES">
|
||||||
<list>
|
<list>
|
||||||
<option value="SCSS File" />
|
<option value="SCSS File" />
|
||||||
<option value="JavaScript File" />
|
|
||||||
<option value="Setup Script" />
|
<option value="Setup Script" />
|
||||||
<option value="HTML File" />
|
<option value="HTML File" />
|
||||||
<option value="Python Script" />
|
<option value="Python Script" />
|
||||||
|
<option value="JavaScript File" />
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
@ -356,8 +337,6 @@
|
|||||||
<component name="IdeDocumentHistory">
|
<component name="IdeDocumentHistory">
|
||||||
<option name="CHANGED_PATHS">
|
<option name="CHANGED_PATHS">
|
||||||
<list>
|
<list>
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/templates/registration/logout.html" />
|
|
||||||
<option value="$PROJECT_DIR$/YtManager/settings.py" />
|
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/main_default.html" />
|
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/main_default.html" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/static/YtManagerApp/css/login.scss" />
|
<option value="$PROJECT_DIR$/YtManagerApp/static/YtManagerApp/css/login.scss" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/templates/registration/register.html" />
|
<option value="$PROJECT_DIR$/YtManagerApp/templates/registration/register.html" />
|
||||||
@ -385,7 +364,6 @@
|
|||||||
<option value="$PROJECT_DIR$/../YoutubeApi-tests/multiinheritance.py" />
|
<option value="$PROJECT_DIR$/../YoutubeApi-tests/multiinheritance.py" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/folder_edit_modal.html" />
|
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/folder_edit_modal.html" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/folder_update_modal.html" />
|
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/folder_update_modal.html" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/index.html" />
|
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/management/folders.py" />
|
<option value="$PROJECT_DIR$/YtManagerApp/management/folders.py" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/model/folder.py" />
|
<option value="$PROJECT_DIR$/YtManagerApp/model/folder.py" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/model/subscription.py" />
|
<option value="$PROJECT_DIR$/YtManagerApp/model/subscription.py" />
|
||||||
@ -396,17 +374,20 @@
|
|||||||
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_create_modal.html" />
|
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_create_modal.html" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/management/management.py" />
|
<option value="$PROJECT_DIR$/YtManagerApp/management/management.py" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/modal.html" />
|
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/modal.html" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/common.js" />
|
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/views/controls/modal.py" />
|
<option value="$PROJECT_DIR$/YtManagerApp/views/controls/modal.py" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_update_modal.html" />
|
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_update_modal.html" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/static/YtManagerApp/css/style.scss" />
|
<option value="$PROJECT_DIR$/YtManagerApp/static/YtManagerApp/css/style.scss" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/views/index.py" />
|
<option value="$PROJECT_DIR$/YtManagerApp/views/index.py" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/urls.py" />
|
<option value="$PROJECT_DIR$/YtManagerApp/urls.py" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/utils/youtube.py" />
|
<option value="$PROJECT_DIR$/YtManagerApp/utils/youtube.py" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/subscription_tree.js" />
|
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_delete_modal.html" />
|
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_delete_modal.html" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/folder_delete_modal.html" />
|
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/folder_delete_modal.html" />
|
||||||
<option value="$PROJECT_DIR$/YtManagerApp/models.py" />
|
<option value="$PROJECT_DIR$/YtManagerApp/models.py" />
|
||||||
|
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/subscription_tree.js" />
|
||||||
|
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/common.js" />
|
||||||
|
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/videos.js" />
|
||||||
|
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/index.html" />
|
||||||
|
<option value="$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/index.js" />
|
||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
@ -589,6 +570,11 @@
|
|||||||
<property name="settings.editor.selected.configurable" value="preferences.sourceCode.SCSS" />
|
<property name="settings.editor.selected.configurable" value="preferences.sourceCode.SCSS" />
|
||||||
</component>
|
</component>
|
||||||
<component name="RecentsManager">
|
<component name="RecentsManager">
|
||||||
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
|
<recent name="D:\Dev\youtube-channel-manager\YtManagerApp\templates\YtManagerApp\controls" />
|
||||||
|
<recent name="D:\Dev\youtube-channel-manager\YtManagerApp\templates\registration" />
|
||||||
|
<recent name="D:\Dev\youtube-channel-manager\config" />
|
||||||
|
</key>
|
||||||
<key name="MoveFile.RECENT_KEYS">
|
<key name="MoveFile.RECENT_KEYS">
|
||||||
<recent name="D:\Dev\youtube-channel-manager\YtManagerApp\templates\YtManagerApp\js" />
|
<recent name="D:\Dev\youtube-channel-manager\YtManagerApp\templates\YtManagerApp\js" />
|
||||||
<recent name="D:\Dev\youtube-channel-manager\YtManagerApp\views\controls" />
|
<recent name="D:\Dev\youtube-channel-manager\YtManagerApp\views\controls" />
|
||||||
@ -596,11 +582,6 @@
|
|||||||
<recent name="D:\Dev\youtube-channel-manager\YtManagerApp\templates\YtManagerApp" />
|
<recent name="D:\Dev\youtube-channel-manager\YtManagerApp\templates\YtManagerApp" />
|
||||||
<recent name="D:\Dev\youtube-channel-manager\YtManagerApp\static\YtManagerApp" />
|
<recent name="D:\Dev\youtube-channel-manager\YtManagerApp\static\YtManagerApp" />
|
||||||
</key>
|
</key>
|
||||||
<key name="CopyFile.RECENT_KEYS">
|
|
||||||
<recent name="D:\Dev\youtube-channel-manager\YtManagerApp\templates\YtManagerApp\controls" />
|
|
||||||
<recent name="D:\Dev\youtube-channel-manager\YtManagerApp\templates\registration" />
|
|
||||||
<recent name="D:\Dev\youtube-channel-manager\config" />
|
|
||||||
</key>
|
|
||||||
</component>
|
</component>
|
||||||
<component name="RunDashboard">
|
<component name="RunDashboard">
|
||||||
<option name="ruleStates">
|
<option name="ruleStates">
|
||||||
@ -736,7 +717,7 @@
|
|||||||
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
|
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
|
||||||
<editor active="true" />
|
<editor active="true" />
|
||||||
<layout>
|
<layout>
|
||||||
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.19936034" />
|
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.21428572" />
|
||||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||||
<window_info id="Favorites" order="2" side_tool="true" />
|
<window_info id="Favorites" order="2" side_tool="true" />
|
||||||
<window_info anchor="bottom" id="Message" order="0" />
|
<window_info anchor="bottom" id="Message" order="0" />
|
||||||
@ -796,28 +777,14 @@
|
|||||||
<breakpoint-manager>
|
<breakpoint-manager>
|
||||||
<breakpoints>
|
<breakpoints>
|
||||||
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
<line-breakpoint enabled="true" suspend="THREAD" type="python-line">
|
||||||
<url>file://$PROJECT_DIR$/YtManager/urls.py</url>
|
<url>file://$PROJECT_DIR$/YtManagerApp/views/index.py</url>
|
||||||
<line>15</line>
|
<line>145</line>
|
||||||
<option name="timeStamp" value="1" />
|
<option name="timeStamp" value="2" />
|
||||||
</line-breakpoint>
|
</line-breakpoint>
|
||||||
</breakpoints>
|
</breakpoints>
|
||||||
</breakpoint-manager>
|
</breakpoint-manager>
|
||||||
</component>
|
</component>
|
||||||
<component name="editorHistoryManager">
|
<component name="editorHistoryManager">
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/registration/password_reset_confirm.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="442">
|
|
||||||
<caret line="26" column="42" selection-start-line="26" selection-start-column="42" selection-end-line="26" selection-end-column="42" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/registration/password_reset_complete.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="255">
|
|
||||||
<caret line="15" selection-start-line="15" selection-end-line="15" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/registration/password_reset_done.html">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/registration/password_reset_done.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state>
|
<state>
|
||||||
@ -954,59 +921,12 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/model/folder.py">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/model/folder.py" />
|
||||||
<provider selected="true" editor-type-id="text-editor" />
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/model/subscription.py" />
|
||||||
</entry>
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/model/__init__.py" />
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/model/subscription.py">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/model/user_settings.py" />
|
||||||
<provider selected="true" editor-type-id="text-editor" />
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/model/channel.py" />
|
||||||
</entry>
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/management/folders.py" />
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/model/__init__.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="17">
|
|
||||||
<caret line="1" lean-forward="true" selection-start-line="1" selection-end-line="1" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/model/user_settings.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="1088">
|
|
||||||
<caret line="64" lean-forward="true" selection-start-line="64" selection-end-line="64" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#0#28#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/model/channel.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="170">
|
|
||||||
<caret line="10" lean-forward="true" selection-start-line="10" selection-end-line="10" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#0#28#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/management/folders.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="391">
|
|
||||||
<caret line="23" column="16" lean-forward="true" selection-start-line="23" selection-start-column="16" selection-end-line="23" selection-end-column="16" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#0#64#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/management/videos.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="357">
|
|
||||||
<caret line="21" lean-forward="true" selection-start-line="21" selection-end-line="21" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#0#71#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://C:/Python36/Lib/site-packages/django/views/generic/edit.py">
|
<entry file="file://C:/Python36/Lib/site-packages/django/views/generic/edit.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="365">
|
<state relative-caret-position="365">
|
||||||
@ -1044,16 +964,6 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/modal.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="442">
|
|
||||||
<caret line="26" column="35" selection-start-line="26" selection-start-column="35" selection-end-line="26" selection-end-column="35" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#1427#1450#0#HTML" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/views/controls/modal.py">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/views/controls/modal.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="554">
|
<state relative-caret-position="554">
|
||||||
@ -1072,37 +982,7 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/common.js">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_edit_dialog.html" />
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="404">
|
|
||||||
<caret line="138" column="21" lean-forward="true" selection-start-line="138" selection-start-column="21" selection-end-line="138" selection-end-column="21" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/views/old_views.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="503">
|
|
||||||
<caret line="102" lean-forward="true" selection-start-line="102" selection-end-line="102" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#0#35#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_edit_dialog.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state>
|
|
||||||
<caret column="47" selection-start-column="47" selection-end-column="47" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/folder_update_modal.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="136">
|
|
||||||
<caret line="8" column="69" selection-start-line="8" selection-start-column="69" selection-end-line="8" selection-end-column="69" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="das://2dac2136-d902-4d27-8789-9371934602fd/schema/main/table/ytmanagerapp_subscription">
|
<entry file="das://2dac2136-d902-4d27-8789-9371934602fd/schema/main/table/ytmanagerapp_subscription">
|
||||||
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
|
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
|
||||||
<state>
|
<state>
|
||||||
@ -1117,13 +997,6 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/index.html">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="520">
|
|
||||||
<caret line="71" column="10" lean-forward="true" selection-start-line="71" selection-start-column="10" selection-end-line="71" selection-end-column="10" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_update_modal.html">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_update_modal.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="238">
|
<state relative-caret-position="238">
|
||||||
@ -1131,10 +1004,92 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/folder_update_modal.html">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="136">
|
||||||
|
<caret line="8" column="69" selection-start-line="8" selection-start-column="69" selection-end-line="8" selection-end-column="69" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/urls.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state>
|
||||||
|
<caret line="55" column="55" selection-start-line="55" selection-start-column="55" selection-end-line="55" selection-end-column="55" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#643#675#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/folder_delete_modal.html">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="306">
|
||||||
|
<caret line="18" selection-start-line="18" selection-end-line="18" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/views/old_views.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="1683">
|
||||||
|
<caret line="102" selection-start-line="102" selection-end-line="102" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#35#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_delete_modal.html">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="221">
|
||||||
|
<caret line="13" selection-start-line="13" selection-end-line="13" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/utils/youtube.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="765">
|
||||||
|
<caret line="49" column="23" selection-start-line="49" selection-start-column="23" selection-end-line="49" selection-end-column="23" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#43#0" expanded="true" />
|
||||||
|
<marker date="1539811805520" expanded="true" signature="411:557" ph="..." />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/models.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="361">
|
||||||
|
<caret line="33" column="44" selection-start-line="33" selection-start-column="44" selection-end-line="33" selection-end-column="44" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#14#0" expanded="true" />
|
||||||
|
<marker date="1539812251317" expanded="true" signature="3991:4134" ph="..." />
|
||||||
|
<marker date="1539812251317" expanded="true" signature="6531:6974" ph="..." />
|
||||||
|
<marker date="1539812251317" expanded="true" signature="9520:9529" ph="..." />
|
||||||
|
<marker date="1539812251317" expanded="true" signature="9520:9848" ph="..." />
|
||||||
|
<marker date="1539812251317" expanded="true" signature="9898:10426" ph="..." />
|
||||||
|
<marker date="1539812251317" expanded="true" signature="10398:10426" ph="..." />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/modal.html">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="323">
|
||||||
|
<caret line="19" column="51" selection-start-line="19" selection-start-column="51" selection-end-line="19" selection-end-column="51" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/common.js">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="289">
|
||||||
|
<caret line="53" selection-start-line="53" selection-end-line="70" selection-end-column="27" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/views/index.py">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/views/index.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="415">
|
<state relative-caret-position="254">
|
||||||
<caret line="331" column="40" lean-forward="true" selection-start-line="331" selection-start-column="40" selection-end-line="331" selection-end-column="40" />
|
<caret line="153" selection-start-line="153" selection-end-line="153" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#73#0" expanded="true" />
|
<element signature="e#0#73#0" expanded="true" />
|
||||||
<marker date="1539811542770" expanded="true" signature="3131:3310" ph="..." />
|
<marker date="1539811542770" expanded="true" signature="3131:3310" ph="..." />
|
||||||
@ -1152,65 +1107,40 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/urls.py">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/management/videos.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="629">
|
<state relative-caret-position="500">
|
||||||
<caret line="55" column="55" selection-start-line="55" selection-start-column="55" selection-end-line="55" selection-end-column="55" />
|
<caret line="55" column="37" selection-start-line="55" selection-start-column="37" selection-end-line="55" selection-end-column="37" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#643#675#0" expanded="true" />
|
<element signature="e#0#71#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/subscription_tree.js">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/videos.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
<state relative-caret-position="467">
|
|
||||||
<caret line="261" column="81" selection-start-line="261" selection-start-column="81" selection-end-line="261" selection-end-column="81" />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/subscription_delete_modal.html">
|
<entry file="file://$PROJECT_DIR$/YtManager/urls.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="221">
|
<state relative-caret-position="391">
|
||||||
<caret line="13" lean-forward="true" selection-start-line="13" selection-end-line="13" />
|
<caret line="23" lean-forward="true" selection-start-line="23" selection-end-line="23" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#411#417#0#HTML" expanded="true" />
|
<element signature="e#643#679#0" expanded="true" />
|
||||||
<element signature="e#429#435#0#HTML" expanded="true" />
|
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/controls/folder_delete_modal.html">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/index.html">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="306">
|
<state relative-caret-position="187">
|
||||||
<caret line="18" lean-forward="true" selection-start-line="18" selection-end-line="18" />
|
<caret line="11" column="48" selection-start-line="11" selection-start-column="48" selection-end-line="11" selection-end-column="48" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/utils/youtube.py">
|
<entry file="file://$PROJECT_DIR$/YtManagerApp/templates/YtManagerApp/js/index.js">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="476">
|
<state relative-caret-position="469">
|
||||||
<caret line="49" column="23" selection-start-line="49" selection-start-column="23" selection-end-line="49" selection-end-column="23" />
|
<caret line="133" column="1" lean-forward="true" selection-start-line="133" selection-start-column="1" selection-end-line="133" selection-end-column="1" />
|
||||||
<folding>
|
|
||||||
<element signature="e#0#43#0" expanded="true" />
|
|
||||||
<marker date="1539811805520" expanded="true" signature="411:557" ph="..." />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/YtManagerApp/models.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="361">
|
|
||||||
<caret line="33" column="44" lean-forward="true" selection-start-line="33" selection-start-column="44" selection-end-line="33" selection-end-column="44" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#0#14#0" expanded="true" />
|
|
||||||
<marker date="1539812251317" expanded="true" signature="3991:4134" ph="..." />
|
|
||||||
<marker date="1539812251317" expanded="true" signature="6531:6974" ph="..." />
|
|
||||||
<marker date="1539812251317" expanded="true" signature="9520:9529" ph="..." />
|
|
||||||
<marker date="1539812251317" expanded="true" signature="9520:9848" ph="..." />
|
|
||||||
<marker date="1539812251317" expanded="true" signature="9898:10426" ph="..." />
|
|
||||||
<marker date="1539812251317" expanded="true" signature="10398:10426" ph="..." />
|
|
||||||
</folding>
|
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
{% block scripts %}
|
{% block scripts %}
|
||||||
<script src="{% static 'YtManagerApp/import/jstree/jstree.js' %}"></script>
|
<script src="{% static 'YtManagerApp/import/jstree/jstree.js' %}"></script>
|
||||||
<script>
|
<script>
|
||||||
{% include 'YtManagerApp/js/subscription_tree.js' %}
|
{% include 'YtManagerApp/js/index.js' %}
|
||||||
</script>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
@ -1,50 +1,3 @@
|
|||||||
class Dialog {
|
|
||||||
constructor(modalId) {
|
|
||||||
this.modal = $(modalId);
|
|
||||||
this.title = $(modalId + "_Title");
|
|
||||||
this.form = $(modalId + "_Form");
|
|
||||||
this.error = $(modalId + "_Error");
|
|
||||||
this.loading = $(modalId + "_Loading");
|
|
||||||
this.btnSubmit = $(modalId + "_Submit");
|
|
||||||
this.setState('normal');
|
|
||||||
}
|
|
||||||
|
|
||||||
setTitle(value) {
|
|
||||||
this.title.text(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
setState(state) {
|
|
||||||
if (state === 'loading') {
|
|
||||||
this.loading.show();
|
|
||||||
this.error.hide();
|
|
||||||
this.form.hide();
|
|
||||||
}
|
|
||||||
if (state === 'error') {
|
|
||||||
this.loading.hide();
|
|
||||||
this.error.show();
|
|
||||||
this.form.hide();
|
|
||||||
}
|
|
||||||
if (state === 'normal') {
|
|
||||||
this.loading.hide();
|
|
||||||
this.error.hide();
|
|
||||||
this.form.show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
setError(text) {
|
|
||||||
this.error.text(text);
|
|
||||||
}
|
|
||||||
|
|
||||||
showModal() {
|
|
||||||
this.modal.modal();
|
|
||||||
}
|
|
||||||
|
|
||||||
hideModal() {
|
|
||||||
this.modal.modal('hide');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class AjaxModal
|
class AjaxModal
|
||||||
{
|
{
|
||||||
constructor(url)
|
constructor(url)
|
||||||
@ -100,7 +53,7 @@ class AjaxModal
|
|||||||
_submit(e) {
|
_submit(e) {
|
||||||
let pThis = this;
|
let pThis = this;
|
||||||
let url = this.form.attr('action');
|
let url = this.form.attr('action');
|
||||||
$.post(this.url, this.form.serialize())
|
$.post(url, this.form.serialize())
|
||||||
.done(function(result) {
|
.done(function(result) {
|
||||||
pThis._submitDone(result);
|
pThis._submitDone(result);
|
||||||
})
|
})
|
||||||
@ -122,12 +75,22 @@ class AjaxModal
|
|||||||
// Clear old errors first
|
// Clear old errors first
|
||||||
this.form.find('.modal-field-error').remove();
|
this.form.find('.modal-field-error').remove();
|
||||||
|
|
||||||
|
if (!result.hasOwnProperty('success')) {
|
||||||
|
this._submitInvalidResponse();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
this._hideModal();
|
this._hideModal();
|
||||||
if (this.submitCallback != null)
|
if (this.submitCallback != null)
|
||||||
this.submitCallback();
|
this.submitCallback();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
if (!result.hasOwnProperty('errors')) {
|
||||||
|
this._submitInvalidResponse();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for (let field in result.errors)
|
for (let field in result.errors)
|
||||||
if (result.errors.hasOwnProperty(field))
|
if (result.errors.hasOwnProperty(field))
|
||||||
{
|
{
|
||||||
@ -160,11 +123,17 @@ class AjaxModal
|
|||||||
_submitFailed() {
|
_submitFailed() {
|
||||||
// Clear old errors first
|
// Clear old errors first
|
||||||
this.form.find('.modal-field-error').remove();
|
this.form.find('.modal-field-error').remove();
|
||||||
|
|
||||||
this.form.find('.modal-body')
|
this.form.find('.modal-body')
|
||||||
.append(`<div class="alert alert-danger modal-field-error">An error occurred while processing request!</div>`);
|
.append(`<div class="alert alert-danger modal-field-error">An error occurred while processing request!</div>`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_submitInvalidResponse() {
|
||||||
|
// Clear old errors first
|
||||||
|
this.form.find('.modal-field-error').remove();
|
||||||
|
this.form.find('.modal-body')
|
||||||
|
.append(`<div class="alert alert-danger modal-field-error">Invalid server response!</div>`);
|
||||||
|
}
|
||||||
|
|
||||||
loadAndShow()
|
loadAndShow()
|
||||||
{
|
{
|
||||||
let pThis = this;
|
let pThis = this;
|
||||||
|
187
YtManagerApp/templates/YtManagerApp/js/index.js
Normal file
187
YtManagerApp/templates/YtManagerApp/js/index.js
Normal file
@ -0,0 +1,187 @@
|
|||||||
|
function treeNode_Edit()
|
||||||
|
{
|
||||||
|
let selectedNodes = $("#tree-wrapper").jstree('get_selected', true);
|
||||||
|
if (selectedNodes.length === 1)
|
||||||
|
{
|
||||||
|
let node = selectedNodes[0];
|
||||||
|
|
||||||
|
if (node.type === 'folder') {
|
||||||
|
let id = node.id.replace('folder', '');
|
||||||
|
let modal = new AjaxModal("{% url 'modal_update_folder' 98765 %}".replace('98765', id));
|
||||||
|
modal.setSubmitCallback(tree_Refresh);
|
||||||
|
modal.loadAndShow();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
let id = node.id.replace('sub', '');
|
||||||
|
let modal = new AjaxModal("{% url 'modal_update_subscription' 98765 %}".replace('98765', id));
|
||||||
|
modal.setSubmitCallback(tree_Refresh);
|
||||||
|
modal.loadAndShow();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function treeNode_Delete()
|
||||||
|
{
|
||||||
|
let selectedNodes = $("#tree-wrapper").jstree('get_selected', true);
|
||||||
|
if (selectedNodes.length === 1)
|
||||||
|
{
|
||||||
|
let node = selectedNodes[0];
|
||||||
|
|
||||||
|
if (node.type === 'folder') {
|
||||||
|
let id = node.id.replace('folder', '');
|
||||||
|
let modal = new AjaxModal("{% url 'modal_delete_folder' 98765 %}".replace('98765', id));
|
||||||
|
modal.setSubmitCallback(tree_Refresh);
|
||||||
|
modal.loadAndShow();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
let id = node.id.replace('sub', '');
|
||||||
|
let modal = new AjaxModal("{% url 'modal_delete_subscription' 98765 %}".replace('98765', id));
|
||||||
|
modal.setSubmitCallback(tree_Refresh);
|
||||||
|
modal.loadAndShow();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function tree_Initialize()
|
||||||
|
{
|
||||||
|
let treeWrapper = $("#tree-wrapper");
|
||||||
|
treeWrapper.jstree({
|
||||||
|
core : {
|
||||||
|
data : {
|
||||||
|
url : "{% url 'ajax_get_tree' %}"
|
||||||
|
},
|
||||||
|
check_callback : tree_ValidateChange,
|
||||||
|
themes : {
|
||||||
|
dots : false
|
||||||
|
},
|
||||||
|
},
|
||||||
|
types : {
|
||||||
|
folder : {
|
||||||
|
icon : "typcn typcn-folder"
|
||||||
|
},
|
||||||
|
sub : {
|
||||||
|
icon : "typcn typcn-user",
|
||||||
|
max_depth : 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
plugins : [ "types", "wholerow", "dnd" ]
|
||||||
|
});
|
||||||
|
treeWrapper.on("changed.jstree", tree_OnSelectionChanged);
|
||||||
|
}
|
||||||
|
|
||||||
|
function tree_Refresh()
|
||||||
|
{
|
||||||
|
$("#tree-wrapper").jstree("refresh");
|
||||||
|
}
|
||||||
|
|
||||||
|
function tree_ValidateChange(operation, node, parent, position, more)
|
||||||
|
{
|
||||||
|
if (more.dnd)
|
||||||
|
{
|
||||||
|
// create_node, rename_node, delete_node, move_node and copy_node
|
||||||
|
if (operation === "copy_node" || operation === "move_node")
|
||||||
|
{
|
||||||
|
if (more.ref.type === "sub")
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function tree_OnSelectionChanged(e, data)
|
||||||
|
{
|
||||||
|
let filterForm = $('#form_video_filter');
|
||||||
|
let filterForm_folderId = filterForm.find('#form_video_filter_folder_id');
|
||||||
|
let filterForm_subId = filterForm.find('#form_video_filter_subscription_id');
|
||||||
|
|
||||||
|
let node = data.instance.get_selected(true)[0];
|
||||||
|
|
||||||
|
// Fill folder/sub fields
|
||||||
|
if (node == null) {
|
||||||
|
filterForm_folderId.val('');
|
||||||
|
filterForm_subId.val('');
|
||||||
|
}
|
||||||
|
else if (node.type === 'folder') {
|
||||||
|
let id = node.id.replace('folder', '');
|
||||||
|
filterForm_folderId.val(id);
|
||||||
|
filterForm_subId.val('');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
let id = node.id.replace('sub', '');
|
||||||
|
filterForm_folderId.val('');
|
||||||
|
filterForm_subId.val(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
videos_Reload();
|
||||||
|
}
|
||||||
|
|
||||||
|
function videos_Reload()
|
||||||
|
{
|
||||||
|
videos_Submit.call($('#form_video_filter'));
|
||||||
|
}
|
||||||
|
|
||||||
|
let videos_timeout = null;
|
||||||
|
|
||||||
|
function videos_ReloadWithTimer()
|
||||||
|
{
|
||||||
|
clearTimeout(videos_timeout);
|
||||||
|
videos_timeout = setTimeout(function()
|
||||||
|
{
|
||||||
|
videos_Submit.call($('#form_video_filter'));
|
||||||
|
videos_timeout = null;
|
||||||
|
}, 300);
|
||||||
|
}
|
||||||
|
|
||||||
|
function videos_Submit(e)
|
||||||
|
{
|
||||||
|
let loadingDiv = $('#videos-loading');
|
||||||
|
loadingDiv.fadeIn(300);
|
||||||
|
|
||||||
|
let form = $(this);
|
||||||
|
let url = form.attr('action');
|
||||||
|
|
||||||
|
$.post(url, form.serialize())
|
||||||
|
.done(function(result) {
|
||||||
|
$("#videos-wrapper").html(result);
|
||||||
|
})
|
||||||
|
.fail(function() {
|
||||||
|
$("#videos-wrapper").html('<div class="alert alert-danger">An error occurred while retrieving the video list!</div>');
|
||||||
|
})
|
||||||
|
.always(function() {
|
||||||
|
loadingDiv.fadeOut(100);
|
||||||
|
});
|
||||||
|
|
||||||
|
if (e != null)
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Initialization
|
||||||
|
///
|
||||||
|
$(document).ready(function ()
|
||||||
|
{
|
||||||
|
tree_Initialize();
|
||||||
|
|
||||||
|
// Subscription toolbar
|
||||||
|
$("#btn_create_sub").on("click", function () {
|
||||||
|
let modal = new AjaxModal("{% url 'modal_create_subscription' %}");
|
||||||
|
modal.setSubmitCallback(tree_Refresh);
|
||||||
|
modal.loadAndShow();
|
||||||
|
});
|
||||||
|
$("#btn_create_folder").on("click", function () {
|
||||||
|
let modal = new AjaxModal("{% url 'modal_create_folder' %}");
|
||||||
|
modal.setSubmitCallback(tree_Refresh);
|
||||||
|
modal.loadAndShow();
|
||||||
|
});
|
||||||
|
$("#btn_edit_node").on("click", treeNode_Edit);
|
||||||
|
$("#btn_delete_node").on("click", treeNode_Delete);
|
||||||
|
|
||||||
|
// Videos filters
|
||||||
|
let filters_form = $("#form_video_filter");
|
||||||
|
filters_form.submit(videos_Submit);
|
||||||
|
filters_form.find('input[name=query]').on('change', videos_ReloadWithTimer);
|
||||||
|
filters_form.find('select[name=sort]').on('change', videos_ReloadWithTimer);
|
||||||
|
filters_form.find('select[name=show_watched]').on('change', videos_ReloadWithTimer);
|
||||||
|
filters_form.find('select[name=show_downloaded]').on('change', videos_ReloadWithTimer);
|
||||||
|
});
|
@ -1,408 +0,0 @@
|
|||||||
class Dialog_old {
|
|
||||||
constructor(modalId) {
|
|
||||||
this.modal = $(modalId);
|
|
||||||
this.title = $(modalId + "_Title");
|
|
||||||
this.form = $(modalId + "_Form");
|
|
||||||
this.error = $(modalId + "_Error");
|
|
||||||
this.loading = $(modalId + "_Loading");
|
|
||||||
this.btnSubmit = $(modalId + "_Submit");
|
|
||||||
this.setState('normal');
|
|
||||||
}
|
|
||||||
|
|
||||||
setTitle(value) {
|
|
||||||
this.title.text(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
setState(state) {
|
|
||||||
if (state === 'loading') {
|
|
||||||
this.loading.show();
|
|
||||||
this.error.hide();
|
|
||||||
this.form.hide();
|
|
||||||
}
|
|
||||||
if (state === 'error') {
|
|
||||||
this.loading.hide();
|
|
||||||
this.error.show();
|
|
||||||
this.form.hide();
|
|
||||||
}
|
|
||||||
if (state === 'normal') {
|
|
||||||
this.loading.hide();
|
|
||||||
this.error.hide();
|
|
||||||
this.form.show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
setError(text) {
|
|
||||||
this.error.text(text);
|
|
||||||
}
|
|
||||||
|
|
||||||
showModal() {
|
|
||||||
this.modal.modal();
|
|
||||||
}
|
|
||||||
|
|
||||||
hideModal() {
|
|
||||||
this.modal.modal('hide');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class FolderEditDialog extends Dialog_old {
|
|
||||||
|
|
||||||
constructor (modalId) {
|
|
||||||
super(modalId);
|
|
||||||
this.field_Id = $(modalId + "_Id");
|
|
||||||
this.field_Name = $(modalId + "_Name");
|
|
||||||
this.field_Parent = $(modalId + "_Parent");
|
|
||||||
|
|
||||||
let pThis = this;
|
|
||||||
this.form.submit(function(e) {
|
|
||||||
pThis.submit(e);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
setParentFolderOptions(folders, selectedId)
|
|
||||||
{
|
|
||||||
// Populate list of folders
|
|
||||||
this.field_Parent.empty();
|
|
||||||
this.field_Parent.append(new Option('(None)', '#'));
|
|
||||||
|
|
||||||
for (let folder of folders)
|
|
||||||
{
|
|
||||||
let o = new Option(folder.text, folder.id);
|
|
||||||
if (selectedId != null && folder.id.toString() === selectedId.toString())
|
|
||||||
o.selected = true;
|
|
||||||
|
|
||||||
this.field_Parent.append(o);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
show (isNew, editNode) {
|
|
||||||
let pThis = this;
|
|
||||||
this.setTitle(isNew ? "New folder" : "Edit folder");
|
|
||||||
this.setState('loading');
|
|
||||||
this.showModal();
|
|
||||||
|
|
||||||
$.get("{% url 'ajax_get_folders' %}")
|
|
||||||
.done(function(folders)
|
|
||||||
{
|
|
||||||
let parentId = null;
|
|
||||||
if (!isNew) {
|
|
||||||
parentId = editNode.parent.replace('folder', '');
|
|
||||||
}
|
|
||||||
|
|
||||||
pThis.setParentFolderOptions(folders, parentId);
|
|
||||||
pThis.setState('normal');
|
|
||||||
pThis.btnSubmit.text(isNew ? "Create" : "Save");
|
|
||||||
|
|
||||||
if (isNew)
|
|
||||||
{
|
|
||||||
pThis.field_Id.val('#');
|
|
||||||
pThis.field_Name.val('');
|
|
||||||
}
|
|
||||||
if (!isNew)
|
|
||||||
{
|
|
||||||
let idTrimmed = editNode.id.replace('folder', '');
|
|
||||||
pThis.field_Id.val(idTrimmed);
|
|
||||||
pThis.field_Name.val(editNode.text);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.fail(function() {
|
|
||||||
pThis.setState('error');
|
|
||||||
pThis.setError('An error occurred!');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
showNew() {
|
|
||||||
this.show(true, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
showEdit(editNode) {
|
|
||||||
this.show(false, editNode);
|
|
||||||
}
|
|
||||||
|
|
||||||
submit(e) {
|
|
||||||
let url = this.form.attr('action');
|
|
||||||
|
|
||||||
$.post(url, this.form.serialize())
|
|
||||||
.done(tree_Refresh);
|
|
||||||
|
|
||||||
this.hideModal();
|
|
||||||
e.preventDefault();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class SubscriptionEditDialog extends Dialog_old {
|
|
||||||
|
|
||||||
constructor (modalId) {
|
|
||||||
super(modalId);
|
|
||||||
this.field_Id = $(modalId + "_Id");
|
|
||||||
this.field_Url = $(modalId + "_Url");
|
|
||||||
this.field_Name = $(modalId + "_Name");
|
|
||||||
this.field_Parent = $(modalId + "_Parent");
|
|
||||||
|
|
||||||
let pThis = this;
|
|
||||||
this.form.submit(function(e) {
|
|
||||||
pThis.submit(e);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
setParentFolderOptions(folders, selectedId)
|
|
||||||
{
|
|
||||||
// Populate list of folders
|
|
||||||
this.field_Parent.empty();
|
|
||||||
this.field_Parent.append(new Option('(None)', '#'));
|
|
||||||
|
|
||||||
for (let folder of folders)
|
|
||||||
{
|
|
||||||
let o = new Option(folder.text, folder.id);
|
|
||||||
if (selectedId != null && folder.id.toString() === selectedId.toString())
|
|
||||||
o.selected = true;
|
|
||||||
|
|
||||||
this.field_Parent.append(o);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
show (isNew, editNode) {
|
|
||||||
let pThis = this;
|
|
||||||
this.setTitle(isNew ? "New subscription" : "Edit subscription");
|
|
||||||
this.setState('loading');
|
|
||||||
this.showModal();
|
|
||||||
|
|
||||||
$.get("{% url 'ajax_get_folders' %}")
|
|
||||||
.done(function(folders)
|
|
||||||
{
|
|
||||||
let parentId = null;
|
|
||||||
if (!isNew) {
|
|
||||||
parentId = editNode.parent.replace('folder', '');
|
|
||||||
}
|
|
||||||
|
|
||||||
pThis.setParentFolderOptions(folders, parentId);
|
|
||||||
pThis.setState('normal');
|
|
||||||
pThis.btnSubmit.text(isNew ? "Create" : "Save");
|
|
||||||
|
|
||||||
if (isNew)
|
|
||||||
{
|
|
||||||
pThis.field_Id.val('#');
|
|
||||||
pThis.field_Url.show();
|
|
||||||
pThis.field_Url.val('');
|
|
||||||
pThis.field_Name.hide();
|
|
||||||
pThis.field_Name.val('');
|
|
||||||
}
|
|
||||||
if (!isNew)
|
|
||||||
{
|
|
||||||
let idTrimmed = editNode.id.replace('sub', '');
|
|
||||||
pThis.field_Id.val(idTrimmed);
|
|
||||||
pThis.field_Url.hide();
|
|
||||||
pThis.field_Url.val('');
|
|
||||||
pThis.field_Name.show();
|
|
||||||
pThis.field_Name.val(editNode.text);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.fail(function() {
|
|
||||||
pThis.setState('error');
|
|
||||||
pThis.setError('An error occurred!');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
showNew() {
|
|
||||||
this.show(true, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
showEdit(editNode) {
|
|
||||||
this.show(false, editNode);
|
|
||||||
}
|
|
||||||
|
|
||||||
submit(e) {
|
|
||||||
let url = this.form.attr('action');
|
|
||||||
|
|
||||||
$.post(url, this.form.serialize())
|
|
||||||
.done(tree_Refresh);
|
|
||||||
|
|
||||||
this.hideModal();
|
|
||||||
e.preventDefault();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function treeNode_Edit()
|
|
||||||
{
|
|
||||||
let selectedNodes = $("#tree-wrapper").jstree('get_selected', true);
|
|
||||||
if (selectedNodes.length === 1)
|
|
||||||
{
|
|
||||||
let node = selectedNodes[0];
|
|
||||||
|
|
||||||
if (node.type === 'folder') {
|
|
||||||
let id = node.id.replace('folder', '');
|
|
||||||
let modal = new AjaxModal("{% url 'modal_update_folder' 98765 %}".replace('98765', id));
|
|
||||||
modal.setSubmitCallback(tree_Refresh);
|
|
||||||
modal.loadAndShow();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
let id = node.id.replace('sub', '');
|
|
||||||
let modal = new AjaxModal("{% url 'modal_update_subscription' 98765 %}".replace('98765', id));
|
|
||||||
modal.setSubmitCallback(tree_Refresh);
|
|
||||||
modal.loadAndShow();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function treeNode_Delete()
|
|
||||||
{
|
|
||||||
let selectedNodes = $("#tree-wrapper").jstree('get_selected', true);
|
|
||||||
if (selectedNodes.length === 1)
|
|
||||||
{
|
|
||||||
let node = selectedNodes[0];
|
|
||||||
|
|
||||||
if (node.type === 'folder') {
|
|
||||||
let id = node.id.replace('folder', '');
|
|
||||||
let modal = new AjaxModal("{% url 'modal_delete_folder' 98765 %}".replace('98765', id));
|
|
||||||
modal.setSubmitCallback(tree_Refresh);
|
|
||||||
modal.loadAndShow();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
let id = node.id.replace('sub', '');
|
|
||||||
let modal = new AjaxModal("{% url 'modal_delete_subscription' 98765 %}".replace('98765', id));
|
|
||||||
modal.setSubmitCallback(tree_Refresh);
|
|
||||||
modal.loadAndShow();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function tree_Initialize()
|
|
||||||
{
|
|
||||||
let treeWrapper = $("#tree-wrapper");
|
|
||||||
treeWrapper.jstree({
|
|
||||||
core : {
|
|
||||||
data : {
|
|
||||||
url : "{% url 'ajax_get_tree' %}"
|
|
||||||
},
|
|
||||||
check_callback : tree_ValidateChange,
|
|
||||||
themes : {
|
|
||||||
dots : false
|
|
||||||
},
|
|
||||||
},
|
|
||||||
types : {
|
|
||||||
folder : {
|
|
||||||
icon : "typcn typcn-folder"
|
|
||||||
},
|
|
||||||
sub : {
|
|
||||||
icon : "typcn typcn-user",
|
|
||||||
max_depth : 0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
plugins : [ "types", "wholerow", "dnd" ]
|
|
||||||
});
|
|
||||||
treeWrapper.on("changed.jstree", tree_OnSelectionChanged);
|
|
||||||
}
|
|
||||||
|
|
||||||
function tree_Refresh()
|
|
||||||
{
|
|
||||||
$("#tree-wrapper").jstree("refresh");
|
|
||||||
}
|
|
||||||
|
|
||||||
function tree_ValidateChange(operation, node, parent, position, more)
|
|
||||||
{
|
|
||||||
if (more.dnd)
|
|
||||||
{
|
|
||||||
// create_node, rename_node, delete_node, move_node and copy_node
|
|
||||||
if (operation === "copy_node" || operation === "move_node")
|
|
||||||
{
|
|
||||||
if (more.ref.type === "sub")
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function tree_OnSelectionChanged(e, data)
|
|
||||||
{
|
|
||||||
let filterForm = $('#form_video_filter');
|
|
||||||
let filterForm_folderId = filterForm.find('#form_video_filter_folder_id');
|
|
||||||
let filterForm_subId = filterForm.find('#form_video_filter_subscription_id');
|
|
||||||
|
|
||||||
let node = data.instance.get_selected(true)[0];
|
|
||||||
|
|
||||||
// Fill folder/sub fields
|
|
||||||
if (node == null) {
|
|
||||||
filterForm_folderId.val('');
|
|
||||||
filterForm_subId.val('');
|
|
||||||
}
|
|
||||||
else if (node.type === 'folder') {
|
|
||||||
let id = node.id.replace('folder', '');
|
|
||||||
filterForm_folderId.val(id);
|
|
||||||
filterForm_subId.val('');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
let id = node.id.replace('sub', '');
|
|
||||||
filterForm_folderId.val();
|
|
||||||
filterForm_subId.val(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
videos_Reload();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function videos_Reload()
|
|
||||||
{
|
|
||||||
let filterForm = $('#form_video_filter');
|
|
||||||
let loadingDiv = $('#videos-loading');
|
|
||||||
loadingDiv.fadeIn(300);
|
|
||||||
|
|
||||||
// Perform query
|
|
||||||
$.post("{% url 'ajax_get_videos' %}", filterForm.serialize())
|
|
||||||
.done(function (result) {
|
|
||||||
$("#videos-wrapper").html(result);
|
|
||||||
})
|
|
||||||
.fail(function () {
|
|
||||||
$("#videos-wrapper").html('<div class="alert alert-danger">An error occurred while retrieving the video list!</div>');
|
|
||||||
})
|
|
||||||
.always(function() {
|
|
||||||
loadingDiv.fadeOut(100);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
let videos_timeout = null;
|
|
||||||
|
|
||||||
function videos_ReloadWithTimer()
|
|
||||||
{
|
|
||||||
clearTimeout(videos_timeout);
|
|
||||||
videos_timeout = setTimeout(function()
|
|
||||||
{
|
|
||||||
videos_Reload();
|
|
||||||
videos_timeout = null;
|
|
||||||
}, 500);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
///
|
|
||||||
/// Globals
|
|
||||||
///
|
|
||||||
let folderEditDialog = null;
|
|
||||||
let subscriptionEditDialog = null;
|
|
||||||
|
|
||||||
///
|
|
||||||
/// Initialization
|
|
||||||
///
|
|
||||||
$(document).ready(function ()
|
|
||||||
{
|
|
||||||
tree_Initialize();
|
|
||||||
|
|
||||||
// folderEditDialog = new FolderEditDialog('#folderEditDialog');
|
|
||||||
// subscriptionEditDialog = new SubscriptionEditDialog('#subscriptionEditDialog');
|
|
||||||
//
|
|
||||||
$("#btn_create_sub").on("click", function () {
|
|
||||||
let modal = new AjaxModal("{% url 'modal_create_subscription' %}");
|
|
||||||
modal.setSubmitCallback(tree_Refresh);
|
|
||||||
modal.loadAndShow();
|
|
||||||
});
|
|
||||||
$("#btn_create_folder").on("click", function () {
|
|
||||||
let modal = new AjaxModal("{% url 'modal_create_folder' %}");
|
|
||||||
modal.setSubmitCallback(tree_Refresh);
|
|
||||||
modal.loadAndShow();
|
|
||||||
});
|
|
||||||
|
|
||||||
// $("#btn_create_folder").on("click", function () { folderEditDialog.showNew(); });
|
|
||||||
$("#btn_edit_node").on("click", treeNode_Edit);
|
|
||||||
$("#btn_delete_node").on("click", treeNode_Delete);
|
|
||||||
});
|
|
Loading…
Reference in New Issue
Block a user