vuetify 1.3.14
This commit is contained in:
parent
18114ae8e4
commit
581aa90d6a
45 changed files with 2024 additions and 464 deletions
4
.idea/encodings.xml
generated
Normal file
4
.idea/encodings.xml
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
|
||||
</project>
|
||||
6
.idea/misc.xml
generated
Normal file
6
.idea/misc.xml
generated
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/vue-poc.iml" filepath="$PROJECT_DIR$/vue-poc.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
437
.idea/workspace.xml
generated
Normal file
437
.idea/workspace.xml
generated
Normal file
|
|
@ -0,0 +1,437 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="014f2dd0-5c39-4e2d-ba78-feaf47c17a19" name="Default Changelist" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/src/vue-poc/api.xqm" beforeDir="false" afterPath="$PROJECT_DIR$/src/vue-poc/api.xqm" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/vue-poc/components/EditTabs.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/vue-poc/components/EditTabs.js" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/vue-poc/components/vue-ace.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/vue-poc/components/vue-ace.vue" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/vue-poc/features/edit/edit.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/vue-poc/features/edit/edit.vue" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/vue-poc/lib/dbtools.xqm" beforeDir="false" afterPath="$PROJECT_DIR$/src/vue-poc/lib/dbtools.xqm" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/vue-poc/lib/dice.xqm" beforeDir="false" afterPath="$PROJECT_DIR$/src/vue-poc/lib/dice.xqm" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/vue-poc/lib/xqdoc/html-index.xsl" beforeDir="false" afterPath="$PROJECT_DIR$/src/vue-poc/lib/xqdoc/html-index.xsl" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/vue-poc/static/app-gen.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/vue-poc/static/app-gen.js" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/vue-poc/static/app.html" beforeDir="false" afterPath="$PROJECT_DIR$/src/vue-poc/static/app.html" afterDir="false" />
|
||||
</list>
|
||||
<ignored path="$PROJECT_DIR$/out/" />
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/xqdoc/html-index.xsl">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="170">
|
||||
<caret line="10" selection-start-line="10" selection-end-line="10" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/aync.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="238">
|
||||
<caret line="14" column="20" selection-start-line="14" selection-start-column="20" selection-end-line="14" selection-end-column="20" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/xqdoc/parsepaths.xq">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/dbtools.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state>
|
||||
<caret column="2" selection-end-column="21" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/dice.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-534">
|
||||
<caret line="61" column="23" selection-start-line="61" selection-start-column="23" selection-end-line="61" selection-end-column="23" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/cons.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/vue-compile/html5parse.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/vue-compile/vue-compile.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1139">
|
||||
<caret line="67" column="17" selection-start-line="67" selection-start-column="17" selection-end-line="67" selection-end-column="17" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/logo.svg">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
</file>
|
||||
<file pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/models.gen.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="CHANGED_PATHS">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/src/vue-poc/api.xqm" />
|
||||
<option value="$PROJECT_DIR$/src/vue-poc/lib/dbtools.xqm" />
|
||||
<option value="$PROJECT_DIR$/src/vue-poc/lib/dice.xqm" />
|
||||
<option value="$PROJECT_DIR$/src/vue-poc/lib/history.xqm" />
|
||||
<option value="$PROJECT_DIR$/src/vue-poc/lib/xqdoc/html-index.xsl" />
|
||||
<option value="$PROJECT_DIR$/src/vue-poc/lib/aync.xqm" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="NamedScopeManager">
|
||||
<scope name="basex" pattern="*.xqm" />
|
||||
</component>
|
||||
<component name="ProjectFrameBounds">
|
||||
<option name="x" value="10" />
|
||||
<option name="y" value="20" />
|
||||
<option name="width" value="1346" />
|
||||
<option name="height" value="698" />
|
||||
</component>
|
||||
<component name="ProjectView">
|
||||
<navigator proportions="" version="1">
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="Scope" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<expand>
|
||||
<path>
|
||||
<item name="vue-poc" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="vue-poc" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="vue-poc" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="vue-poc" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="vue-poc" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="vue-poc" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="vue-poc" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="vue-poc" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="vue-poc" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="vue-poc" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="vue-poc" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="vue-poc" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="vue-poc" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="vue-compile" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="vue-poc" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="vue-poc" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="vue-poc" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="xqdoc" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="PackagesPane" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1543100014184" />
|
||||
<property name="jdk.selected.JAVA_MODULE" value="1.8" />
|
||||
<property name="last_opened_file_path" value="$USER_HOME$/Desktop/basex.versions/basex.91/BaseX.jar" />
|
||||
<property name="project.structure.last.edited" value="Global Libraries" />
|
||||
<property name="project.structure.proportion" value="0.0" />
|
||||
<property name="project.structure.side.proportion" value="0.2" />
|
||||
<property name="run.code.analysis.last.selected.profile" value="pProject Default" />
|
||||
<property name="settings.editor.selected.configurable" value="uk.co.reecedunn.intellij.plugin.intellij.settings.XQueryProjectSettingsConfigurable" />
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
<option name="ruleStates">
|
||||
<list>
|
||||
<RuleState>
|
||||
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
||||
</RuleState>
|
||||
<RuleState>
|
||||
<option name="name" value="StatusDashboardGroupingRule" />
|
||||
</RuleState>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="SvnConfiguration">
|
||||
<configuration />
|
||||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="014f2dd0-5c39-4e2d-ba78-feaf47c17a19" name="Default Changelist" comment="" />
|
||||
<created>1543095406989</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1543095406989</updated>
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="10" y="20" width="1346" height="698" extended-state="0" />
|
||||
<layout>
|
||||
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.2651633" />
|
||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||
<window_info id="Designer" order="2" />
|
||||
<window_info id="Image Layers" order="3" />
|
||||
<window_info id="Capture Tool" order="4" />
|
||||
<window_info id="UI Designer" order="5" />
|
||||
<window_info id="Learn" order="6" />
|
||||
<window_info id="Favorites" order="7" side_tool="true" />
|
||||
<window_info anchor="bottom" id="Message" order="0" />
|
||||
<window_info anchor="bottom" id="Find" order="1" />
|
||||
<window_info anchor="bottom" id="Run" order="2" />
|
||||
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
|
||||
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
||||
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
||||
<window_info anchor="bottom" id="TODO" order="6" />
|
||||
<window_info anchor="bottom" id="Terminal" order="7" />
|
||||
<window_info anchor="bottom" id="Event Log" order="8" side_tool="true" />
|
||||
<window_info anchor="bottom" id="Version Control" order="9" />
|
||||
<window_info anchor="bottom" id="Inspection Results" order="10" visible="true" weight="0.19115044" />
|
||||
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
||||
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
||||
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
||||
<window_info anchor="right" id="Palette" order="3" />
|
||||
<window_info anchor="right" id="Maven" order="4" />
|
||||
<window_info anchor="right" id="Theme Preview" order="5" />
|
||||
<window_info anchor="right" id="Capture Analysis" order="6" />
|
||||
<window_info anchor="right" id="Palette	" order="7" />
|
||||
</layout>
|
||||
</component>
|
||||
<component name="XQueryProjectSettings">
|
||||
<option name="XQuery10Dialect" />
|
||||
<option name="XQuery30Dialect" value="basex" />
|
||||
<option name="XQuery31Dialect" value="basex" />
|
||||
<option name="XQueryVersion" value="3.1" />
|
||||
<option name="implementationVersion" value="basex/v9.1" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/cxan.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="136">
|
||||
<caret line="8" column="8" lean-forward="true" selection-start-line="8" selection-start-column="8" selection-end-line="8" selection-end-column="8" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/api.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="272">
|
||||
<caret line="16" selection-start-line="16" selection-end-line="16" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/entity-gen.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/file.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/pipeline.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/query-a.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="306">
|
||||
<caret line="18" column="28" selection-start-line="18" selection-start-column="28" selection-end-line="18" selection-end-column="28" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/history.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="221">
|
||||
<caret line="13" column="51" selection-start-line="13" selection-start-column="51" selection-end-line="13" selection-end-column="51" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/store.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/store-test.xq">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state>
|
||||
<caret column="58" selection-start-column="58" selection-end-column="58" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/xqdoc/html-index.xsl">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="170">
|
||||
<caret line="10" selection-start-line="10" selection-end-line="10" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/aync.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="238">
|
||||
<caret line="14" column="20" selection-start-line="14" selection-start-column="20" selection-end-line="14" selection-end-column="20" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/xqdoc/parsepaths.xq">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/dbtools.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state>
|
||||
<caret column="2" selection-end-column="21" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/cons.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/vue-compile/html5parse.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/vue-compile/vue-compile.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1139">
|
||||
<caret line="67" column="17" selection-start-line="67" selection-start-column="17" selection-end-line="67" selection-end-column="17" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/logo.svg">
|
||||
<provider selected="true" editor-type-id="images" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/models.gen.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/vue-poc/lib/dice.xqm">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-534">
|
||||
<caret line="61" column="23" selection-start-line="61" selection-start-column="23" selection-end-line="61" selection-end-column="23" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
<component name="masterDetails">
|
||||
<states>
|
||||
<state key="ArtifactsStructureConfigurable.UI">
|
||||
<settings>
|
||||
<artifact-editor />
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="FacetStructureConfigurable.UI">
|
||||
<settings>
|
||||
<last-edited>No facets are configured</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="GlobalLibrariesConfigurable.UI">
|
||||
<settings>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="JdkListConfigurable.UI">
|
||||
<settings>
|
||||
<last-edited>1.8</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="ModuleStructureConfigurable.UI">
|
||||
<settings>
|
||||
<last-edited>vue-poc</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
<option value="0.6" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="ProjectLibrariesConfigurable.UI">
|
||||
<settings>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="ScopeChooserConfigurable.UI">
|
||||
<settings>
|
||||
<last-edited>basex</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
<order>
|
||||
<scope name="basex" />
|
||||
</order>
|
||||
</settings>
|
||||
</state>
|
||||
</states>
|
||||
</component>
|
||||
</project>
|
||||
10
.idea/xquery_config.xml
generated
Normal file
10
.idea/xquery_config.xml
generated
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="XQueryProjectSettings">
|
||||
<option name="XQuery10Dialect" />
|
||||
<option name="XQuery30Dialect" value="basex" />
|
||||
<option name="XQuery31Dialect" value="basex" />
|
||||
<option name="XQueryVersion" value="3.1" />
|
||||
<option name="implementationVersion" value="basex/v9.1" />
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
xquery version "3.1";
|
||||
(:~
|
||||
: vue-poc api.
|
||||
:
|
||||
|
|
@ -94,3 +95,17 @@ as element(json)
|
|||
</_>
|
||||
}</json>
|
||||
};
|
||||
|
||||
declare
|
||||
%rest:POST
|
||||
%rest:path("/vue-poc/api/upload")
|
||||
%rest:form-param("files", "{$files}")
|
||||
function vue-api:upload($files) {
|
||||
for $name in map:keys($files)
|
||||
let $content := $files($name)
|
||||
let $path := file:temp-dir() || $name
|
||||
return (
|
||||
file:write-binary($path, $content),
|
||||
<file name="{ $name }" size="{ file:size($path) }"/>
|
||||
)
|
||||
};
|
||||
|
|
@ -84,7 +84,8 @@
|
|||
<v-list-tile-title><qd-fullscreen> Full screen</qd-fullscreen></v-list-tile-title>
|
||||
</v-list-tile>
|
||||
<v-list-tile >
|
||||
<v-list-tile-title><v-switch label="Dark theme" v-model="dark"></v-switch></v-list-tile-title>
|
||||
<v-list-tile-title>Dark theme</v-list-tile-title>
|
||||
<v-list-tile-action ><v-switch v-model="dark"></v-switch> </v-list-tile-action>
|
||||
</v-list-tile>
|
||||
<v-divider ></v-divider>
|
||||
<v-list-tile >
|
||||
|
|
@ -206,7 +207,18 @@
|
|||
{href: '/tree',text: 'Tree',icon: 'nature'},
|
||||
{href: '/tree2',text: 'Tree 2',icon: 'nature'}
|
||||
]},
|
||||
|
||||
{
|
||||
icon: 'toys',
|
||||
text: 'Labs' ,
|
||||
model: false,
|
||||
children: [
|
||||
{href: '/labs/scratch',text: 'Scratch pad',icon: 'filter_frames'},
|
||||
{href: '/labs/timeline',text: 'Time line',icon: 'timelapse'},
|
||||
{href: '/labs/svg',text: 'SVG',icon: 'extension'},
|
||||
{href: '/labs/svg2',text: 'SVG2',icon: 'extension'},
|
||||
{href: '/labs/tree',text: 'Tree',icon: 'nature'},
|
||||
{href: '/labs/tree2',text: 'Tree 2',icon: 'nature'}
|
||||
]},
|
||||
{href: '/settings',text: 'Settings',icon: 'settings' },
|
||||
{href: '/about',text: 'About (v0.3.2)' , icon: 'help' },
|
||||
]
|
||||
|
|
|
|||
|
|
@ -3,21 +3,24 @@
|
|||
// name:
|
||||
// contentType:
|
||||
// text:
|
||||
// id:
|
||||
// id: ids have the form "Tn"
|
||||
// url:
|
||||
// requires: Settings,HTTP
|
||||
//
|
||||
const EditTabs=new Vue({
|
||||
const GEditTabs={
|
||||
data(){
|
||||
return {
|
||||
items:[],
|
||||
length: 0,
|
||||
nextId: 1,
|
||||
currentId: null
|
||||
currentId: null,
|
||||
restored: null
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
addItem(tab){
|
||||
console.log("new: ",tab);
|
||||
//console.log("new: ",tab);
|
||||
var def={name: "AA"+this.nextId,
|
||||
contentType: "text/xml",
|
||||
mode: "xml",
|
||||
|
|
@ -25,20 +28,17 @@ const EditTabs=new Vue({
|
|||
url: null
|
||||
};
|
||||
var etab = Object.assign(def,tab);
|
||||
etab.id= ""+this.nextId
|
||||
etab.id= "T" + this.nextId
|
||||
this.items.push (etab);
|
||||
this.length++
|
||||
this.nextId++;
|
||||
return etab;
|
||||
},
|
||||
|
||||
closeItem(item){
|
||||
var index=this.items.indexOf(item);
|
||||
if (index > -1) {
|
||||
alert("index: "+index)
|
||||
this.items.splice(index, 1);
|
||||
index=(index==0)?0:index-1;
|
||||
this.currentId=(this.items.length)?"T"+this.items[index].id : null;
|
||||
}
|
||||
//https://github.com/vuejs/vue/issues/5855
|
||||
this.items=this.items.filter(t => t.id !== item.id)
|
||||
this.length--;
|
||||
},
|
||||
|
||||
// fetch content from server and create tab
|
||||
|
|
@ -65,7 +65,7 @@ const EditTabs=new Vue({
|
|||
|
||||
restore(){
|
||||
that=this
|
||||
Settings.getItem('edit/items')
|
||||
this.restored=Settings.getItem('edit/items')
|
||||
.then(function (v){
|
||||
console.log("items ",v)
|
||||
v.forEach(v =>that.addItem(v))
|
||||
|
|
@ -76,9 +76,16 @@ const EditTabs=new Vue({
|
|||
});
|
||||
},
|
||||
|
||||
sorted(){
|
||||
return this.items.slice(0).sort((a,b) => a.name.localeCompare(b.name))
|
||||
sorted(){ /* sorted indices */
|
||||
var len=this.items.length
|
||||
var indices = new Array(len);
|
||||
for (var i = 0; i < len; ++i) indices[i] = i;
|
||||
var list=this.items
|
||||
return indices.sort((a,b) =>list[a].name.localeCompare(list[b].name))
|
||||
}
|
||||
},
|
||||
created(){
|
||||
console.log("EditTabs created")
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
|||
60
src/vue-poc/components/aceextras.js
Normal file
60
src/vue-poc/components/aceextras.js
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
// ace customisations
|
||||
const AceExtras={
|
||||
rhymeCompleter: {
|
||||
// test completer
|
||||
getCompletions: function(editor, session, pos, prefix, callback) {
|
||||
if (prefix.length === 0) { callback(null, []); return }
|
||||
axios.get("http://rhymebrain.com/talk",{params:{function:"getRhymes",word:prefix}})
|
||||
.then(
|
||||
function(wordList) {
|
||||
// wordList like [{"word":"flow","freq":24,"score":300,"flags":"bc","syllables":"1"}]
|
||||
var r=wordList.data.map(function(ea) {
|
||||
return {name: ea.word, value: ea.word, score: ea.score, meta: "rhyme"}
|
||||
})
|
||||
callback(null,r)
|
||||
})
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
//basex functions
|
||||
basexCompleter: {
|
||||
getCompletions: function(editor, session, pos, prefix, callback) {
|
||||
if (prefix.length === 0) { callback(null, []); return }
|
||||
console.log("dd",prefix)
|
||||
callback(null, [{
|
||||
caption: "archive:create#2",
|
||||
snippet: "archive:create(${1:entries}, ${2:contents})",
|
||||
score: 100,
|
||||
meta: "archive",
|
||||
completer: this
|
||||
}, {
|
||||
caption: "archive:create#3",
|
||||
snippet: "archive:create(${1:entries}, ${2:contents}, ${3:options})",
|
||||
score: 100,
|
||||
meta: "archive",
|
||||
completer: this
|
||||
}])
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
snippets:[
|
||||
{
|
||||
name: "test",
|
||||
content: "something",
|
||||
tabTrigger: "test:"
|
||||
},
|
||||
{
|
||||
name: "test2",
|
||||
content: "some2",
|
||||
tabTrigger: "he"
|
||||
}
|
||||
],
|
||||
install: function(Vue){
|
||||
Object.defineProperty(Vue.prototype, '$aceExtras', {
|
||||
get () { return AceExtras }
|
||||
})
|
||||
}
|
||||
};
|
||||
Vue.use(AceExtras);
|
||||
|
|
@ -11,7 +11,6 @@ const Notification={
|
|||
elapsed: null
|
||||
},
|
||||
opts);
|
||||
console.log("opt",opts);
|
||||
this.messages.unshift(data);
|
||||
this.messages.length = Math.min(this.messages.length, 30);
|
||||
++this.unseen;
|
||||
|
|
|
|||
|
|
@ -1,42 +1,51 @@
|
|||
<!DOCTYPE html>
|
||||
<!--
|
||||
file upload see https://github.com/thetutlage/vue-clip
|
||||
simple file upload component
|
||||
https://stackoverflow.com/questions/52645358/vuetify-file-uploads
|
||||
-->
|
||||
<template id="qd-fileupload">
|
||||
<vue-clip :options="options">
|
||||
<template slot-scope="clip-uploader-action">
|
||||
<div>
|
||||
<div class="dz-message"><h2> Click or Drag and Drop files here upload </h2></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template slot-scope="clip-uploader-body" scope="props">
|
||||
<div v-for="file in props.files">
|
||||
<img v-bind:src="file.dataUrl" />
|
||||
{{ file.name }} {{ file.status }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</vue-clip>
|
||||
<div>
|
||||
<v-btn @click="openFileDialog">
|
||||
Select
|
||||
</v-btn>
|
||||
|
||||
<v-btn @click="uploadFile" icon>
|
||||
<v-icon>cloud_upload</v-icon>
|
||||
</v-btn>
|
||||
|
||||
<input type="file" name="files" ref="file-upload" multiple="multiple" style="display:none" @change="onFileChange"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>{
|
||||
data () {
|
||||
return {
|
||||
options: {
|
||||
url: '/vue-poc/api/upload',
|
||||
paramName: 'file',
|
||||
maxFilesize: {
|
||||
limit: 1,
|
||||
message: '{{ filesize }} is greater than the {{ maxFilesize }}'
|
||||
},
|
||||
maxFiles: {
|
||||
limit: 5,
|
||||
message: 'You can only upload a max of 5 files'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
props: ['url'
|
||||
],
|
||||
data() {
|
||||
return {
|
||||
formData: new FormData()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openFileDialog() {
|
||||
this.$refs['file-upload'].click();
|
||||
},
|
||||
onFileChange(e) {
|
||||
var self = this;
|
||||
var files = e.target.files || e.dataTransfer.files;
|
||||
if(files.length > 0){
|
||||
for(var i = 0; i< files.length; i++){
|
||||
self.formData.append("files", files[i], files[i].name);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
uploadFile() {
|
||||
var self = this;
|
||||
HTTP.post( this.url, self.formData).then(function (response) {
|
||||
console.log(response);
|
||||
self.$emit("complete",response)
|
||||
}).catch(function (error) {
|
||||
console.log(error);
|
||||
});
|
||||
}
|
||||
}
|
||||
}</script>
|
||||
70
src/vue-poc/components/qd-tablist.vue
Normal file
70
src/vue-poc/components/qd-tablist.vue
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
<!DOCTYPE html>
|
||||
<!--
|
||||
A fixed height card showing files in a tabset.
|
||||
An item can be selected
|
||||
-->
|
||||
<template id="qd-tablist">
|
||||
<v-menu left bottom :close-on-content-click="false" >
|
||||
<v-chip slot="activator">
|
||||
|
||||
{{ EditTabs.length }}
|
||||
<v-avatar>
|
||||
<v-icon right>arrow_drop_down</v-icon>
|
||||
</v-avatar>
|
||||
</v-chip>
|
||||
<v-card>
|
||||
<v-toolbar >
|
||||
<v-text-field
|
||||
prepend-icon="filter_list"
|
||||
label="type filter text"
|
||||
single-line
|
||||
hide-details
|
||||
v-model="search"
|
||||
clearable
|
||||
></v-text-field>
|
||||
|
||||
</v-toolbar>
|
||||
<v-card-text>
|
||||
<v-list style="height: 300px; overflow-y: auto;">
|
||||
<v-list-tile
|
||||
v-for="index in edittabs.sorted()" :key="index"
|
||||
avatar dense ripple
|
||||
@click="setItem(index)" :inactive="index == current"
|
||||
>
|
||||
<v-list-tile-avatar>
|
||||
<v-icon v-if="index == current">check_circle</v-icon>
|
||||
<v-icon v-else>insert_drive_file</v-icon>
|
||||
</v-list-tile-avatar>
|
||||
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>{{ edittabs.items[index].name }}</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
|
||||
<v-list-tile-action >
|
||||
{{ edittabs.items[index].id }} [{{ index }}]
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
</v-list>
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
current : {{ current }}
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-menu>
|
||||
</template>
|
||||
|
||||
<script>{
|
||||
props: ['edittabs',
|
||||
'current'
|
||||
],
|
||||
data () {
|
||||
return {
|
||||
search:null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
setItem(index){
|
||||
this.$emit('selected', index)
|
||||
},
|
||||
}
|
||||
}</script>
|
||||
|
|
@ -4,11 +4,11 @@ ace editor for vue.js
|
|||
//https://jsfiddle.net/bc_rikko/gbpw2q9x/3/
|
||||
events:
|
||||
event fired cmd outline
|
||||
-->
|
||||
-->
|
||||
<template id="vue-ace">
|
||||
<div style="width: 100%; height: 100%;"></div>
|
||||
<div style="width: 100%; height: 100%;"></div>
|
||||
</template>
|
||||
<script>{
|
||||
<script type="text/javascript">{
|
||||
props: [ 'content',
|
||||
'mode',
|
||||
'wrap',
|
||||
|
|
@ -16,6 +16,8 @@ event fired cmd outline
|
|||
'events', // event bus if set handles "eventFired",cmd
|
||||
'settings',
|
||||
'minLines',
|
||||
'completer',
|
||||
'snippets'
|
||||
],
|
||||
data () {
|
||||
return {
|
||||
|
|
@ -29,9 +31,10 @@ event fired cmd outline
|
|||
enableBasicAutocompletion:true,
|
||||
enableLiveAutocompletion:true
|
||||
},
|
||||
|
||||
annots:{
|
||||
error:0,warning:0,info:0
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -44,6 +47,8 @@ event fired cmd outline
|
|||
'mode' (value) {
|
||||
var session=this.editor.getSession()
|
||||
session.setMode(`ace/mode/${value}`)
|
||||
|
||||
|
||||
},
|
||||
'wrap' (value) {
|
||||
var session=this.editor.getSession()
|
||||
|
|
@ -146,7 +151,7 @@ event fired cmd outline
|
|||
this.editor.getSession().selection.on('changeCursor', (e) => {
|
||||
var position = this.editor.selection.cursor;
|
||||
var token = this.editor.getSession().getTokenAt(position.row, position.column);
|
||||
console.log("token",token);
|
||||
//console.log("token",token);
|
||||
this.$emit('token', token);
|
||||
});
|
||||
|
||||
|
|
@ -157,5 +162,15 @@ event fired cmd outline
|
|||
}else this.command(cmd);
|
||||
});
|
||||
}
|
||||
|
||||
if(this.completer){
|
||||
var langTools = ace.require("ace/ext/language_tools");
|
||||
langTools.addCompleter(this.completer);
|
||||
}
|
||||
|
||||
if(this.snippets){
|
||||
var snippetManager = ace.require("ace/snippets").snippetManager;
|
||||
snippetManager.register(this.snippets, "xquery");
|
||||
}
|
||||
}
|
||||
}</script>
|
||||
|
|
|
|||
|
|
@ -199,5 +199,6 @@ Vue.component('l-marker', Vue2Leaflet.LMarker);
|
|||
// Vue.component('form-schema', window["vue-json-schema"].default);
|
||||
//};
|
||||
//Vue.use({ install: install });
|
||||
var EditTabs=new Vue(GEditTabs)
|
||||
Vue.use(Vuetify);
|
||||
new Vuepoc().$mount('#app')
|
||||
|
|
|
|||
|
|
@ -1,17 +1,6 @@
|
|||
<package xmlns="http://expath.org/ns/pkg" name="http://expkg-zone58.github.io/ex-dotml"
|
||||
abbrev="vue-poc" version="0.0.4" spec="1.0">
|
||||
<title>vue-poc test of vue.js.</title>
|
||||
<dependency name="ace" version="1.3.3" />
|
||||
<dependency name="vuetify" version="0.15.2" />
|
||||
<dependency name="vue" version="2.4.1" />
|
||||
<dependency name="vue-router" version="2.5.3" />
|
||||
<dependency name="vue-treeselect" version="0.0.25" />
|
||||
<dependency name="google-material" version="0.0.0" />
|
||||
<dependency name="js-beautify" version="1.6.12" />
|
||||
<dependency name="axios" version="0.17.1" />
|
||||
<dependency name="qs" version="6.4.0" />
|
||||
<dependency name="localforage" version="1.7.1" />
|
||||
<dependency name="moment.js" version="2.18.1" />
|
||||
<dependency name="file-walker" version="0.5.2" />
|
||||
<dependency name="ex-thumbnailator" version="5.0.11" />
|
||||
</package>
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@
|
|||
v-bind:pagination.sync="pagination"
|
||||
>
|
||||
<template slot="items" slot-scope="props">
|
||||
<td class="text-xs-right">{{ props.item.time }}</td>
|
||||
<td :title="props.item.time">{{ props.item.time }}</td>
|
||||
<td class="text-xs-right">{{ props.item.user }}</td>
|
||||
<td class="text-xs-right">{{ props.item.type }}</td>
|
||||
<td class="text-xs-right">{{ props.item.ms }}</td>
|
||||
|
|
|
|||
|
|
@ -256,7 +256,6 @@
|
|||
path: a.slice(0,i+1).join("/")+"/"}}
|
||||
);
|
||||
url[0].icon=this.icon;
|
||||
console.log("CRUM",url)
|
||||
return url;
|
||||
},
|
||||
selection(){
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@
|
|||
<v-flex xs12 style="height:70vh" fill-height>
|
||||
|
||||
<vue-ace :content="contentA" :mode="mode" :wrap="wrap" :settings="aceSettings"
|
||||
:events="events" v-resize="onResize"
|
||||
:events="events" v-resize="onResize" :completer="$aceExtras.basexCompleter" :snippets="$aceExtras.snippets"
|
||||
v-on:change-content="changeContentA"
|
||||
v-on:annotation="annotation"></vue-ace>
|
||||
</v-flex>
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@
|
|||
<v-tab
|
||||
v-for="item in EditTabs.items"
|
||||
:key="item.id"
|
||||
:href="'#T' + item.id" ripple
|
||||
ripple
|
||||
style="text-transform: none;text-align:left"
|
||||
>
|
||||
<v-avatar >
|
||||
|
|
@ -151,7 +151,7 @@
|
|||
<v-tab-item
|
||||
v-for="item in EditTabs.items"
|
||||
:key="item.id"
|
||||
:id="'T' + item.id"
|
||||
:value="item.id"
|
||||
>
|
||||
<v-card flat v-if="showInfo" >
|
||||
<v-card-actions >
|
||||
|
|
@ -291,9 +291,9 @@
|
|||
|
||||
watch:{
|
||||
currentId (val) {
|
||||
console.log("currentId: ",val)
|
||||
this.active = EditTabs.items.find(e=> val=="T"+e.id);
|
||||
this.$router.push({ query: { id: val }});
|
||||
console.log("current",val)
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -47,13 +47,13 @@
|
|||
></v-checkbox>
|
||||
</td>
|
||||
<td class="vtop"> <router-link :to="{name: 'jobShow', params: {job: props.item.id }}">{{props.item.id}}</router-link></td>
|
||||
<td class="vtop "><div>{{ props.item.state }}</div>
|
||||
<div>{{ props.item.type }}</div> </td>
|
||||
<td class="vtop text-xs-right">{{ props.item.duration }}</td>
|
||||
<td class="vtop "><div>{{ props.item.state }}</div><div>{{ props.item.type }}</div> </td>
|
||||
<td class="vtop " :title="props.item.registered">{{ props.item.registered | fromNow}}</td>
|
||||
<td class="vtop " :title="props.item.start">{{ props.item.start | fromNow}}</td>
|
||||
<td class="vtop text-xs-right">{{ props.item.duration }}</td>
|
||||
<td class="vtop text-xs-right">{{ props.item.writes }}</td>
|
||||
<td class="vtop text-xs-right">{{ props.item.reads }}</td>
|
||||
<td class="vtop text-xs-right">{{ props.item.user }}</td>
|
||||
<td class="vtop" ><code class="multiline-ellipsis">{{ props.item.text }}</code></td>
|
||||
</template>
|
||||
</v-data-table>
|
||||
</v-card>
|
||||
|
|
@ -69,11 +69,12 @@
|
|||
value: 'id'
|
||||
},
|
||||
{ text: 'State', value: 'state' },
|
||||
{ text: 'Registered', value: 'registered' },
|
||||
{ text: 'Start', value: 'start' },
|
||||
{ text: 'Duration', value: 'duration' },
|
||||
{ text: 'WriteL', value: 'writes' },
|
||||
{ text: 'ReadL', value: 'reads' },
|
||||
{ text: 'User', value: 'user' },
|
||||
{ text: 'Query', value: 'text' }
|
||||
{ text: 'User', value: 'user' }
|
||||
],
|
||||
items:[
|
||||
],
|
||||
|
|
|
|||
|
|
@ -41,6 +41,8 @@ as element(*)*
|
|||
,<type>{$j/@type/string()}</type>
|
||||
,<state>{$j/@state/string()}</state>
|
||||
,<user>{$j/@user/string()}</user>
|
||||
,<registered>{$j/@time/string()}</registered>
|
||||
,<start>{$j/@start/string()}</start>
|
||||
,<duration>{$j/@duration/string()}</duration>
|
||||
,<text>{$j/string()}</text>
|
||||
,<reads>{$j/@reads/string()}</reads>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<v-card >
|
||||
|
||||
<v-card-title class="red">
|
||||
<span class="white--text">The current credentials do the give access this page, please login again</span>
|
||||
<span class="white--text">The current credentials do the give access this page, please login.</span>
|
||||
</v-card-title>
|
||||
|
||||
<v-card-actions>
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
|
||||
<v-card-actions >
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn color="primary" @click="go()">Continue</v-btn>
|
||||
<v-btn color="primary" @click="go()">Login</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-flex>
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
<v-expansion-panel v-model="panel" expand >
|
||||
<v-expansion-panel-content>
|
||||
<div slot="header" class="title">Description: </div>
|
||||
<div slot="header" class="title"><v-icon>{{ item.iconclass }}</v-icon> {{ item.name }}</div>
|
||||
{{item.description}}
|
||||
<pre v-if="xml"><code>{{ xml }}</code></pre>
|
||||
</v-expansion-panel-content>
|
||||
|
|
|
|||
|
|
@ -1,27 +1,151 @@
|
|||
<!DOCTYPE html>
|
||||
<template id="scratch">
|
||||
<v-container fluid>
|
||||
<qd-fileupload title="Up it" selected-callback="upit">up load</qd-fileupload>
|
||||
<qd-autoheight>
|
||||
<vue-ace :content="ace" mode="xml" ></vue-ace>
|
||||
</qd-autoheight>
|
||||
<v-toolbar tabs dense>
|
||||
<v-toolbar-title>Tab index {{ curIndex }}</v-toolbar-title>
|
||||
<v-btn v-if="active">{{ active.mode }}</v-btn>
|
||||
<v-btn v-if="active"> {{ active.name }}, id: {{ active.id }}</v-btn>
|
||||
<v-spacer></v-spacer>
|
||||
|
||||
<v-btn @click="add">Add</v-btn>
|
||||
<v-btn @click="curIndex=2">set</v-btn>
|
||||
<qd-tablist :edittabs="EditTabs" :current="curIndex" @selected="setItem">tab list</qd-tablist>
|
||||
|
||||
<v-tabs v-model="curIndex" slot="extension">
|
||||
<v-tab
|
||||
v-for="(item,index) in EditTabs.items"
|
||||
:key="item.id"
|
||||
ripple
|
||||
style="text-transform: none;text-align:left"
|
||||
>
|
||||
<v-avatar >
|
||||
<v-icon size="16px">insert_drive_file</v-icon>
|
||||
</v-avatar>
|
||||
<span >{{ (item.dirty?"*":"") }}</span>
|
||||
<span >{{ item.name }}</span>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn icon @click.stop="tabClose(item,index)">
|
||||
<v-icon size="16px">close</v-icon>
|
||||
</v-btn>
|
||||
</v-tab>
|
||||
</v-tabs>
|
||||
</v-toolbar>
|
||||
|
||||
|
||||
<v-tabs-items v-model="curIndex">
|
||||
<v-tab-item
|
||||
v-for="item in EditTabs.items"
|
||||
:key="item.id"
|
||||
>
|
||||
<v-card >
|
||||
<div style="height:200px" ref="ace" v-resize="onResize" >
|
||||
<v-flex xs12 fill-height >
|
||||
<vue-ace :content="item.text" v-on:change-content="changeContent" :events="events"
|
||||
:mode="item.mode" :wrap="wrap" :settings="aceSettings" v-on:annotation="annotation"></vue-ace>
|
||||
</v-flex>
|
||||
</div>
|
||||
</v-card>
|
||||
|
||||
</v-tab-item>
|
||||
</v-tabs-items>
|
||||
</v-container>
|
||||
</template>
|
||||
|
||||
<script>{
|
||||
data: function(){
|
||||
return {
|
||||
message: 'bad route!',
|
||||
ace:"<xml>here</xml>"
|
||||
curIndex: null, //index of current
|
||||
active: null,
|
||||
showInfo: false, // showing info
|
||||
wrap: true,
|
||||
events: new Vue({}),
|
||||
aceSettings: {},
|
||||
annotations: null,
|
||||
folded: false,
|
||||
EditTabs: EditTabs
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
upit:function(s){
|
||||
alert("up")
|
||||
add(){
|
||||
var a=this.EditTabs.addItem({text:"hi "+ new Date()})
|
||||
this.curIndex=this.EditTabs.items.indexOf(a)
|
||||
},
|
||||
|
||||
tabClose(item,index){
|
||||
if(item.dirty){
|
||||
if (!confirm("Not saved continue? "+ index))return;
|
||||
}else{
|
||||
this.EditTabs.closeItem(item)
|
||||
this.curIndex=0
|
||||
}
|
||||
},
|
||||
setItem(v){
|
||||
this.curIndex=v;
|
||||
},
|
||||
annotation(counts){
|
||||
this.annotations=counts
|
||||
//console.log("annotations: ",counts)
|
||||
},
|
||||
changeContent(val){
|
||||
var item=this.active;
|
||||
//console.log("change",val);
|
||||
|
||||
if (item.text !== val) {
|
||||
item.text = val;
|
||||
item.dirty=true;
|
||||
}
|
||||
},
|
||||
onResize(){
|
||||
var el=this.$refs["ace"];
|
||||
for (e of el){
|
||||
//console.log("top",e.offsetTop)
|
||||
var h=Math.max(1,window.innerHeight - e.offsetTop -200)
|
||||
// console.log("h",h)
|
||||
e.style.height=h +"px";
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
computed:{
|
||||
count(){
|
||||
console.log("LEN:",this.EditTabs.length)
|
||||
return this.EditTabs.length
|
||||
}
|
||||
},
|
||||
|
||||
watch:{
|
||||
curIndex (val) {
|
||||
this.active = EditTabs.items[val];
|
||||
console.log("curIndex: ",val)
|
||||
if(this.active) this.$router.push({ query: { id: this.active.id }});
|
||||
}
|
||||
},
|
||||
mounted:function(){
|
||||
console.log("scratch",this.$route.path)
|
||||
}
|
||||
|
||||
beforeRouteEnter (to, from, next) {
|
||||
Promise.all([Settings.getItem('settings/ace')
|
||||
])
|
||||
.then(function(values) {
|
||||
next(vm => {
|
||||
vm.aceSettings = values[0];
|
||||
console.log("SSS",JSON.parse(JSON.stringify(EditTabs.items)))
|
||||
})
|
||||
})
|
||||
},
|
||||
created:function(){
|
||||
var url=this.$route.query.url;
|
||||
if(url){
|
||||
EditTabs.loadItem(url);
|
||||
}else{
|
||||
var tid=this.$route.query.id;
|
||||
var id=EditTabs.items.findIndex(i=>i.id ==tid)
|
||||
console.log("set tab",tid,id)
|
||||
EditTabs.restored.then(()=>{
|
||||
var id=EditTabs.items.findIndex(i=>i.id ==tid)
|
||||
console.log("set tab",tid,id)
|
||||
this.curIndex= id;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,16 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<template id="upload">
|
||||
<v-card>
|
||||
<v-card-title>Upload</v-card-title>
|
||||
<v-card-actions>
|
||||
<qd-fileupload>up..</qd-fileupload>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</template>
|
||||
<v-container fluid>
|
||||
<v-snackbar v-model="snack" color="success">File upload complete</v-snackbar>
|
||||
<v-card>
|
||||
<v-card-title>File transfers</v-card-title>
|
||||
<v-card-text>
|
||||
<qd-fileupload url="upload" @complete="upit">up load</qd-fileupload>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-container>
|
||||
</template>
|
||||
|
||||
<script>{
|
||||
data: function(){
|
||||
return {
|
||||
fab: false
|
||||
return {
|
||||
snack: false
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
upit:function(s){
|
||||
this.snack=true;
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
}</script>
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -10,12 +10,13 @@ declare namespace c="http://www.w3.org/ns/xproc-step";
|
|||
: @default C:/Users/andy/git/vue-poc/src/vue-poc
|
||||
:)
|
||||
declare variable $efolder as xs:anyURI external :=
|
||||
"C:/Users/andy/git/vue-poc/src/vue-poc";
|
||||
xs:anyURI("C:/Users/andy/git/vue-poc/src/vue-poc");
|
||||
|
||||
(:~ URL of the schema to use
|
||||
: @default C:/tmp/xqdoc/
|
||||
:)
|
||||
declare variable $target as xs:anyURI external :="C:/tmp/xqdoc/";
|
||||
declare variable $target as xs:anyURI external :=
|
||||
xs:anyURI("C:/tmp/xqdoc/");
|
||||
|
||||
declare variable $state as element(state):=db:open("vue-poc","/state.xml")/state;
|
||||
|
||||
|
|
@ -29,7 +30,7 @@ let $opts:=map{
|
|||
}
|
||||
let $op:=xqd:save-xq($files,$target,$opts)
|
||||
let $result:=<json type="object">
|
||||
<extra>hello</extra>
|
||||
<extra>hello2</extra>
|
||||
<msg> {$target}, {count($files//c:file)} files processed.</msg>
|
||||
<id>{$id/string()}</id>
|
||||
</json>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ declare namespace xqdoc="http://www.xqdoc.org/1.0";
|
|||
: @default file:///C:/tmp/xqdoc/
|
||||
:)
|
||||
declare variable $target as xs:anyURI external :=
|
||||
"file:///C:/tmp/xqdoca/" cast as xs:anyURI;
|
||||
"file:///C:/tmp/xqdoc/" cast as xs:anyURI;
|
||||
|
||||
declare variable $nsRESTXQ:= 'http://exquery.org/ns/restxq';
|
||||
|
||||
|
|
@ -25,7 +25,7 @@ declare function local:import($path,
|
|||
$folder)
|
||||
as map(*)*
|
||||
{
|
||||
let $uri:=``[F`{ string($id) }`/]``
|
||||
let $uri:=``[modules/F`{ string($id) }`/]``
|
||||
let $doc:=doc(resolve-uri($uri || "xqdoc.xml",$folder))
|
||||
let $annots:=xqd:annotations($doc/*, $nsRESTXQ,"path")
|
||||
return $annots!map{
|
||||
|
|
@ -69,28 +69,49 @@ let $op:= <div>
|
|||
<li href="#main">
|
||||
<a >
|
||||
<span class="secno">2 </span>
|
||||
<span class="content">Paths</span>
|
||||
<span class="content">Paths.</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
<ol class="toc"> { $tree/*/*!local:tree-list(.,2) } </ol>
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
<a href="index.html">index: </a>
|
||||
<ol> { local:tree-list($tree) } </ol>
|
||||
|
||||
<ul>{$reps!local:path-to-html(.)}</ul>
|
||||
</div>
|
||||
return xqd:page($op,map{"resources": "resources/"})
|
||||
};
|
||||
|
||||
(:~ tree to list :)
|
||||
declare function local:tree-list($tree){
|
||||
declare function local:tree-list($tree as element(*),$seq as xs:integer*){
|
||||
typeswitch ($tree )
|
||||
case element(directory)
|
||||
return <li>{$tree/@name/string()}/<ul>{$tree/*!local:tree-list(.)}</ul></li>
|
||||
|
||||
return <li>
|
||||
<span class="secno">{string-join($seq,'.')}</span>
|
||||
<span class="content">{$tree/@name/string()}/</span>
|
||||
<ol class="toc">{$tree/*!local:tree-list(.,($seq,position()))}</ol>
|
||||
</li>
|
||||
case element(file)
|
||||
return <li>{if($tree/@target) then
|
||||
<a href="#{$tree/@target}">
|
||||
<span class="secno">{string-join($seq,'.')}</span>
|
||||
|
||||
<span class="content" title="{$tree/@target}">{ $tree/@name/string() }</span>
|
||||
<div class="tag tag-success"
|
||||
title="RESTXQ: {$tree/@target}">GET
|
||||
</div>
|
||||
<div class="tag tag-danger" style="float:right"
|
||||
title="RESTXQ: {$tree/@target}">X
|
||||
</div>
|
||||
</a>
|
||||
else
|
||||
<span class="content">{$tree/@name/string()}</span>
|
||||
}</li>
|
||||
default
|
||||
return <li>{$tree/@name/string()}</li>
|
||||
return <li>unknown</li>
|
||||
};
|
||||
|
||||
(:~ html for a path :)
|
||||
|
|
@ -133,7 +154,7 @@ let $data:=map:merge(for $report in $reports
|
|||
|
||||
let $uris:=sort(map:keys($data))
|
||||
let $result:=<json type="object">
|
||||
<extra>hello</extra>
|
||||
<extra>hello2</extra>
|
||||
<msg> {$target}, {count($data)} uris processed.</msg>
|
||||
<id>xqrest2 ID??</id>
|
||||
</json>
|
||||
|
|
|
|||
|
|
@ -1,12 +1,16 @@
|
|||
(:~
|
||||
xquery version "3.1";
|
||||
(:~
|
||||
: tools for databases..
|
||||
: @author andy bunce
|
||||
: @since mar 2013
|
||||
:)
|
||||
|
||||
module namespace dbtools = 'quodatum.dbtools';
|
||||
import module namespace file="http://expath.org/ns/file";
|
||||
import module namespace db="http://basex.org/modules/db";
|
||||
import module namespace archive="http://basex.org/modules/archive";
|
||||
import module namespace hof="http://basex.org/modules/hof";
|
||||
|
||||
|
||||
(: trailing slash :)
|
||||
declare variable $dbtools:webpath:= db:system()/globaloptions/webpath/fn:string()
|
||||
|| file:dir-separator();
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
(:~
|
||||
xquery version "3.1";
|
||||
(:~
|
||||
: dice utils - sort, filter, and serialize as json.
|
||||
: can read parameters from request: sort,start,limit.
|
||||
: @requires basex 8.6 for map:merge
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ as element(c:directory)
|
|||
db:list()!
|
||||
<c:directory name="{db:property(.,'name')}" content-type="text/directory"
|
||||
last-modified="{db:property(.,'timestamp')}"
|
||||
size="{db:property(.,'size')}"/>
|
||||
size="-1"/>
|
||||
|
||||
else
|
||||
let $db:=substring-before(substring($url,2),"/")
|
||||
|
|
|
|||
383
src/vue-poc/lib/tree-data/paths.txt
Normal file
383
src/vue-poc/lib/tree-data/paths.txt
Normal file
|
|
@ -0,0 +1,383 @@
|
|||
|
||||
/authenticate
|
||||
/chat
|
||||
/chat/login-check
|
||||
/chat/logout
|
||||
/consignment
|
||||
/consignment/api
|
||||
/consignment/api/build
|
||||
/consignment/api/content
|
||||
/consignment/api/db
|
||||
/consignment/api/elements
|
||||
/consignment/api/nvdl/schemas
|
||||
/consignment/api/report/{$path=.+
|
||||
/consignment/api/samples
|
||||
/consignment/api/src/{$path=.+}
|
||||
/consignment/api/task
|
||||
/consignment/api/validate
|
||||
/consignment/api/validate/{$path=.+}
|
||||
/consignment/ui
|
||||
/consignment/ui/{$path=.+}
|
||||
/contentbase/authenticate
|
||||
/contentbase/collection
|
||||
/contentbase/done
|
||||
/contentbase/export
|
||||
/contentbase/image
|
||||
/contentbase/login
|
||||
/contentbase/logout
|
||||
/contentbase/page
|
||||
/contentbase/publish
|
||||
/contentbase/save
|
||||
/contentbase/status
|
||||
/contentbase/status
|
||||
/contentbase/toc
|
||||
/contentbase/work
|
||||
/cxan.xq
|
||||
/cxan/api/status
|
||||
/dba
|
||||
/dba/backup-create
|
||||
/dba/backup-drop
|
||||
/dba/backup-restore
|
||||
/dba/backup/{$backup}
|
||||
/dba/database
|
||||
/dba/database
|
||||
/dba/databases
|
||||
/dba/databases
|
||||
/dba/db-add
|
||||
/dba/db-add
|
||||
/dba/db-alter
|
||||
/dba/db-alter
|
||||
/dba/db-copy
|
||||
/dba/db-copy
|
||||
/dba/db-create
|
||||
/dba/db-create
|
||||
/dba/db-delete
|
||||
/dba/db-download
|
||||
/dba/db-drop
|
||||
/dba/db-optimize
|
||||
/dba/db-optimize
|
||||
/dba/db-optimize-all
|
||||
/dba/db-query
|
||||
/dba/db-rename
|
||||
/dba/db-rename
|
||||
/dba/db-replace
|
||||
/dba/db-replace
|
||||
/dba/dir-change
|
||||
/dba/dir-create
|
||||
/dba/file-delete
|
||||
/dba/file-start
|
||||
/dba/file-stop
|
||||
/dba/file-upload
|
||||
/dba/file/{$name}
|
||||
/dba/files
|
||||
/dba/files
|
||||
/dba/job-discard
|
||||
/dba/job-result
|
||||
/dba/job-stop
|
||||
/dba/jobs
|
||||
/dba/jobs
|
||||
/dba/log
|
||||
/dba/log-delete
|
||||
/dba/log-download
|
||||
/dba/login
|
||||
/dba/login-check
|
||||
/dba/logout
|
||||
/dba/logs
|
||||
/dba/logs
|
||||
/dba/logs/jump
|
||||
/dba/pattern-add
|
||||
/dba/pattern-add
|
||||
/dba/pattern-drop
|
||||
/dba/queries
|
||||
/dba/query-close
|
||||
/dba/query-eval
|
||||
/dba/query-open
|
||||
/dba/query-save
|
||||
/dba/query-update
|
||||
/dba/resource
|
||||
/dba/session-kill
|
||||
/dba/sessions
|
||||
/dba/sessions
|
||||
/dba/settings
|
||||
/dba/settings
|
||||
/dba/settings-gc
|
||||
/dba/static/{$file=.+}
|
||||
/dba/user
|
||||
/dba/user
|
||||
/dba/user-create
|
||||
/dba/user-create
|
||||
/dba/user-drop
|
||||
/dba/user-edit
|
||||
/dba/users
|
||||
/dba/users
|
||||
/dba/{$path}
|
||||
/doc/ping
|
||||
/doc/ping
|
||||
/doc/status
|
||||
/doc/task
|
||||
/doc/task/{$task}
|
||||
/doc/task/{$task}
|
||||
/favicon.ico
|
||||
/form
|
||||
/hello/{$world}
|
||||
/json
|
||||
/json2
|
||||
/login
|
||||
/logout
|
||||
/rave
|
||||
/rave/job
|
||||
/rave/longloop
|
||||
/rave/update
|
||||
/rave/updates
|
||||
/rave/user
|
||||
/replx
|
||||
/replx/api/elements
|
||||
/replx/api/query
|
||||
/replx/api/status
|
||||
/replx/api/xq
|
||||
/replx/ui
|
||||
/replx/ui/{$path=.+}
|
||||
/slowww
|
||||
/thumb/{$id}
|
||||
/vue-poc
|
||||
/vue-poc/api
|
||||
/vue-poc/api/collection
|
||||
/vue-poc/api/components/tree
|
||||
/vue-poc/api/data/users
|
||||
/vue-poc/api/data/{$entity}
|
||||
/vue-poc/api/edit
|
||||
/vue-poc/api/edit
|
||||
/vue-poc/api/eval/execute
|
||||
/vue-poc/api/eval/imports
|
||||
/vue-poc/api/eval/invoke
|
||||
/vue-poc/api/eval/plan
|
||||
/vue-poc/api/eval/result/{$id}
|
||||
/vue-poc/api/eval/submit
|
||||
/vue-poc/api/form/schema
|
||||
/vue-poc/api/get
|
||||
/vue-poc/api/get2
|
||||
/vue-poc/api/history
|
||||
/vue-poc/api/images/datetaken
|
||||
/vue-poc/api/images/keywords2
|
||||
/vue-poc/api/images/list
|
||||
/vue-poc/api/images/list/{ $id }/image
|
||||
/vue-poc/api/images/list/{ $id }/meta
|
||||
/vue-poc/api/images/list/{ $id }/thumb
|
||||
/vue-poc/api/images/list/{$id}
|
||||
/vue-poc/api/images/report
|
||||
/vue-poc/api/job
|
||||
/vue-poc/api/job/{$job}
|
||||
/vue-poc/api/log
|
||||
/vue-poc/api/log/add
|
||||
/vue-poc/api/login-check
|
||||
/vue-poc/api/logout
|
||||
/vue-poc/api/ping
|
||||
/vue-poc/api/ping
|
||||
/vue-poc/api/repo
|
||||
/vue-poc/api/search
|
||||
/vue-poc/api/start
|
||||
/vue-poc/api/status
|
||||
/vue-poc/api/tasks
|
||||
/vue-poc/api/tasks/model
|
||||
/vue-poc/api/tasks/model
|
||||
/vue-poc/api/tasks/task
|
||||
/vue-poc/api/tasks/vue-compile
|
||||
/vue-poc/api/tasks/xqdoc
|
||||
/vue-poc/api/tasks/xqdoc
|
||||
/vue-poc/api/tasks/{$task}
|
||||
/vue-poc/api/tasks/{$task}
|
||||
/vue-poc/api/test-select
|
||||
/vue-poc/api/thumbnail
|
||||
/vue-poc/api/thumbnail/images
|
||||
/vue-poc/api/thumbnail/validate
|
||||
/vue-poc/api/upload
|
||||
/vue-poc/api/user
|
||||
/vue-poc/api/validate
|
||||
/vue-poc/api/validate
|
||||
/vue-poc/api/xqdoc
|
||||
/vue-poc/api/xslt
|
||||
/vue-poc/ui
|
||||
/vue-poc/ui/{$file=.+}
|
||||
/vuetif
|
||||
/vuetif/api
|
||||
/vuetif/api/repo
|
||||
/vuetif/api/search
|
||||
/vuetif/api/status
|
||||
/vuetif/api/test-select
|
||||
/vuetif/api/user
|
||||
/vuetif/ui
|
||||
/vuetif/ui/{$file=.+}
|
||||
/zip
|
||||
/zip2
|
||||
/{$db}/login
|
||||
/{$db}/login
|
||||
/{$db}/logout
|
||||
abide
|
||||
abide/api/application
|
||||
abide/api/xml
|
||||
abide/auth/changepassword
|
||||
abide/auth/github
|
||||
abide/auth/github/callback
|
||||
abide/auth/login
|
||||
abide/auth/logout
|
||||
abide/auth/lostpassword
|
||||
abide/auth/register
|
||||
abide/auth/session
|
||||
abide/auth/twitter
|
||||
abide/auth/twitter/callback
|
||||
abide/data/application
|
||||
abide/data/application
|
||||
abide/data/application/export
|
||||
abide/data/application/{$app}
|
||||
abide/data/database
|
||||
abide/data/database
|
||||
abide/data/database/{$db}
|
||||
abide/data/database/{$db}
|
||||
abide/data/database/{$db}/index
|
||||
abide/data/database/{$db}/resource
|
||||
abide/data/database/{$db}/resource/item
|
||||
abide/data/endpoint
|
||||
abide/data/endpoint/item
|
||||
abide/data/entity
|
||||
abide/data/entity/{$app}
|
||||
abide/data/entity/{$app}/fields
|
||||
abide/data/package
|
||||
abide/data/package/item
|
||||
abide/data/package/item
|
||||
abide/data/web-app
|
||||
abide/data/xqmodule
|
||||
abide/data/xqmodule/item
|
||||
abide/environment
|
||||
abide/exec
|
||||
abide/ide/eval
|
||||
abide/ide/filelist
|
||||
abide/ide/filelist2
|
||||
abide/ide/get
|
||||
abide/ide/run
|
||||
abide/logs
|
||||
abide/logs/{$date}
|
||||
abide/packages
|
||||
abide/request
|
||||
abide/search
|
||||
abide/sessions
|
||||
abide/sessions/{$id}
|
||||
abide/system
|
||||
abide/users
|
||||
abide/wadl
|
||||
abide/xslt
|
||||
app-music/xslt
|
||||
bch
|
||||
benchx
|
||||
benchx/api/environment
|
||||
benchx/api/execute
|
||||
benchx/api/library
|
||||
benchx/api/library/{$id}
|
||||
benchx/api/library/{$id}
|
||||
benchx/api/library/{$id}/compare
|
||||
benchx/api/session
|
||||
benchx/api/session
|
||||
benchx/api/state
|
||||
benchx/api/state
|
||||
benchx/api/suite
|
||||
benchx/api/suite/{$suite}
|
||||
benchx/api/thisenv
|
||||
benchx/api/validate
|
||||
benchx/api/~testbed
|
||||
cxan-zone58
|
||||
cxan-zone58/about
|
||||
cxan-zone58/ace
|
||||
cxan-zone58/api
|
||||
cxan-zone58/author
|
||||
cxan-zone58/cat
|
||||
cxan-zone58/pkg
|
||||
cxan-zone58/pkg/{$repo}
|
||||
cxan-zone58/search
|
||||
cxan-zone58/tag
|
||||
cxan-zone58/test
|
||||
doc
|
||||
doc/app/{$app}/view/component
|
||||
doc/app/{$app}/view/template
|
||||
doc/app/{$app}/view/wadl
|
||||
doc/app/{$app}/view/xqdoc
|
||||
doc/components/basex
|
||||
doc/components/browser
|
||||
doc/data/app
|
||||
doc/data/app/{$app}
|
||||
doc/data/app/{$app}/component
|
||||
doc/data/entity
|
||||
doc/data/entity/{$entity}
|
||||
doc/data/entity/{$entity}/field
|
||||
doc/data/file/find
|
||||
doc/data/file/list
|
||||
doc/data/file/read
|
||||
doc/data/task/{$task}
|
||||
doc/data/test
|
||||
doc/data/xqmodule/item
|
||||
doc/data/xqmodule/parse
|
||||
doc/data/xqmodule/xq
|
||||
doc/data/xqmodule/xqdoc
|
||||
doc/data/{$entity}
|
||||
doc/data/{$entity}/{$name}
|
||||
doc/init
|
||||
doc/search
|
||||
doc/validate
|
||||
doc/wadl
|
||||
doc/xqdoc
|
||||
graphxq
|
||||
graphxq/about
|
||||
graphxq/ace
|
||||
graphxq/api
|
||||
graphxq/api/dot
|
||||
graphxq/api/dotml
|
||||
graphxq/dot
|
||||
graphxq/dotml
|
||||
graphxq/library
|
||||
graphxq/search
|
||||
graphxq/testd3
|
||||
media
|
||||
media/mp3
|
||||
palmyra
|
||||
palmyra/xslt
|
||||
piperack
|
||||
piperack/xslt
|
||||
replx/api/data/queries
|
||||
replx/api/data/queries/{$id}
|
||||
snipsnapx
|
||||
snipsnapx/about
|
||||
snipsnapx/auth/login
|
||||
snipsnapx/auth/login
|
||||
snipsnapx/auth/logout
|
||||
snipsnapx/auth/profile
|
||||
snipsnapx/auth/profile
|
||||
snipsnapx/auth/register
|
||||
snipsnapx/auth/register
|
||||
snipsnapx/search
|
||||
snipsnapx/snipsnap-attachments
|
||||
snipsnapx/snipsnap-blogs
|
||||
snipsnapx/snipsnap-comments
|
||||
snipsnapx/snipsnap-index
|
||||
snipsnapx/snipsnap-recent
|
||||
snipsnapx/snipsnap-tags
|
||||
snipsnapx/snipsnap-tags/{$tag}
|
||||
snipsnapx/snipsnap-users
|
||||
snipsnapx/test
|
||||
snipsnapx/{$view}/{$f1}/{$f2}/{$f3}/{$f4}
|
||||
snipsnapx/{$view}/{$ns}/{$snipname}
|
||||
snipsnapx/{$view}/{$ns}/{$snipname}/{$e}
|
||||
snipsnapx/{$view}/{$snipname}
|
||||
stylecheck
|
||||
stylecheck
|
||||
stylecheck/compile
|
||||
vue-poc/api/data/entity
|
||||
vue-poc/api/data/entity/{$entity}
|
||||
vue-poc/api/data/entity/{$entity}/field
|
||||
{$db}/book/{$id}
|
||||
{$db}/chunk/{$chunkid}
|
||||
{$db}/chunk/{$chunkid}
|
||||
{$db}/collection
|
||||
{$db}/image/{$id}
|
||||
{$db}/images
|
||||
{$db}/images/{$id}
|
||||
{$db}/output/{$id}
|
||||
{$db}/submit-metadata/{$parttype}/{$id}
|
||||
{$db}/toc/{$id}
|
||||
82
src/vue-poc/lib/tree-data/vue-poc.xml
Normal file
82
src/vue-poc/lib/tree-data/vue-poc.xml
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
<directory name="">
|
||||
<directory name="vue-poc">
|
||||
<directory name="api">
|
||||
<file name="collection" target="/vue-poc/api/collection"/>
|
||||
<directory name="components">
|
||||
<file name="tree" target="/vue-poc/api/components/tree"/>
|
||||
</directory>
|
||||
<directory name="data">
|
||||
<directory name="entity">
|
||||
<directory name="{$entity}">
|
||||
<file name="field" target="/vue-poc/api/data/entity/{$entity}/field"/>
|
||||
</directory>
|
||||
</directory>
|
||||
<file name="users" target="/vue-poc/api/data/users"/>
|
||||
<file name="{$entity}" target="/vue-poc/api/data/{$entity}"/>
|
||||
</directory>
|
||||
<file name="edit" target="/vue-poc/api/edit"/>
|
||||
<directory name="eval">
|
||||
<file name="execute" target="/vue-poc/api/eval/execute"/>
|
||||
<file name="imports" target="/vue-poc/api/eval/imports"/>
|
||||
<file name="invoke" target="/vue-poc/api/eval/invoke"/>
|
||||
<file name="plan" target="/vue-poc/api/eval/plan"/>
|
||||
<directory name="result">
|
||||
<file name="{$id}" target="/vue-poc/api/eval/result/{$id}"/>
|
||||
</directory>
|
||||
<file name="submit" target="/vue-poc/api/eval/submit"/>
|
||||
</directory>
|
||||
<directory name="form">
|
||||
<file name="schema" target="/vue-poc/api/form/schema"/>
|
||||
</directory>
|
||||
<file name="get" target="/vue-poc/api/get"/>
|
||||
<file name="get2" target="/vue-poc/api/get2"/>
|
||||
<file name="history" target="/vue-poc/api/history"/>
|
||||
<directory name="images">
|
||||
<file name="datetaken" target="/vue-poc/api/images/datetaken"/>
|
||||
<file name="keywords2" target="/vue-poc/api/images/keywords2"/>
|
||||
<directory name="list">
|
||||
<directory name="{ $id }">
|
||||
<file name="image" target="/vue-poc/api/images/list/{ $id }/image"/>
|
||||
<file name="meta" target="/vue-poc/api/images/list/{ $id }/meta"/>
|
||||
<file name="thumb" target="/vue-poc/api/images/list/{ $id }/thumb"/>
|
||||
</directory>
|
||||
<file name="{$id}" target="/vue-poc/api/images/list/{$id}"/>
|
||||
</directory>
|
||||
<file name="report" target="/vue-poc/api/images/report"/>
|
||||
</directory>
|
||||
<directory name="job">
|
||||
<file name="{$job}" target="/vue-poc/api/job/{$job}"/>
|
||||
</directory>
|
||||
<directory name="log">
|
||||
<file name="add" target="/vue-poc/api/log/add"/>
|
||||
</directory>
|
||||
<file name="login-check" target="/vue-poc/api/login-check"/>
|
||||
<file name="logout" target="/vue-poc/api/logout"/>
|
||||
<file name="ping" target="/vue-poc/api/ping"/>
|
||||
<file name="repo" target="/vue-poc/api/repo"/>
|
||||
<file name="search" target="/vue-poc/api/search"/>
|
||||
<file name="start" target="/vue-poc/api/start"/>
|
||||
<file name="status" target="/vue-poc/api/status"/>
|
||||
<directory name="tasks">
|
||||
<file name="model" target="/vue-poc/api/tasks/model"/>
|
||||
<file name="task" target="/vue-poc/api/tasks/task"/>
|
||||
<file name="vue-compile" target="/vue-poc/api/tasks/vue-compile"/>
|
||||
<file name="xqdoc" target="/vue-poc/api/tasks/xqdoc"/>
|
||||
<file name="{$task}" target="/vue-poc/api/tasks/{$task}"/>
|
||||
</directory>
|
||||
<file name="test-select" target="/vue-poc/api/test-select"/>
|
||||
<directory name="thumbnail">
|
||||
<file name="images" target="/vue-poc/api/thumbnail/images"/>
|
||||
<file name="validate" target="/vue-poc/api/thumbnail/validate"/>
|
||||
</directory>
|
||||
<file name="upload" target="/vue-poc/api/upload"/>
|
||||
<file name="user" target="/vue-poc/api/user"/>
|
||||
<file name="validate" target="/vue-poc/api/validate"/>
|
||||
<file name="xqdoc" target="/vue-poc/api/xqdoc"/>
|
||||
<file name="xslt" target="/vue-poc/api/xslt"/>
|
||||
</directory>
|
||||
<directory name="ui">
|
||||
<file name="{$file=.+}" target="/vue-poc/ui/{$file=.+}"/>
|
||||
</directory>
|
||||
</directory>
|
||||
</directory>
|
||||
32
src/vue-poc/lib/tree-tests.xq
Normal file
32
src/vue-poc/lib/tree-tests.xq
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
xquery version "3.1";
|
||||
(:~
|
||||
: test tree
|
||||
:)
|
||||
import module namespace tree = 'quodatum.data.tree' at "tree.xqm";
|
||||
|
||||
declare variable $TEST1:=(
|
||||
|
||||
"/api/environment",
|
||||
"/api/execute",
|
||||
"/api/library",
|
||||
"/api/library/{$id}"
|
||||
);
|
||||
|
||||
|
||||
|
||||
declare %unit:test
|
||||
(:~
|
||||
: smoke test
|
||||
:)
|
||||
function tree:test(){
|
||||
let $t:=tree:build($TEST1)
|
||||
return unit:assert(fn:true(),$t)
|
||||
};
|
||||
|
||||
declare %unit:test
|
||||
function tree:test3(){
|
||||
let $t:=unparsed-text-lines("tree-data/paths.txt")
|
||||
return unit:assert(fn:true(),$t)
|
||||
};
|
||||
|
||||
tree:build($TEST1)/directory[@name="api"]
|
||||
|
|
@ -4,81 +4,6 @@ xquery version "3.1";
|
|||
:)
|
||||
module namespace tree = 'quodatum.data.tree';
|
||||
|
||||
declare variable $tree:TEST1:=(
|
||||
"/",
|
||||
"/api/environment/",
|
||||
"/api/execute/",
|
||||
"/api/library/",
|
||||
"/api/library/",
|
||||
"/api/library/{$id}/",
|
||||
"/api/library/{$id}/",
|
||||
"/api/state/",
|
||||
"/api/~testbed/",
|
||||
"/api/state/",
|
||||
"/api/state/",
|
||||
"/api/suite/",
|
||||
"/api/suite/{$suite}/",
|
||||
"/api/execute/zz"
|
||||
);
|
||||
|
||||
declare variable $tree:TEST2:=(
|
||||
"/vue-poc",
|
||||
"/vue-poc/api",
|
||||
"/vue-poc/api/collection",
|
||||
"/vue-poc/api/components/tree",
|
||||
"/vue-poc/api/data/users",
|
||||
"/vue-poc/api/data/{$entity}",
|
||||
"/vue-poc/api/edit",
|
||||
"/vue-poc/api/eval/execute",
|
||||
"/vue-poc/api/eval/imports",
|
||||
"/vue-poc/api/eval/invoke",
|
||||
"/vue-poc/api/eval/plan",
|
||||
"/vue-poc/api/eval/result/{$id}",
|
||||
"/vue-poc/api/eval/submit",
|
||||
"/vue-poc/api/form/schema",
|
||||
"/vue-poc/api/get",
|
||||
"/vue-poc/api/get2",
|
||||
"/vue-poc/api/history",
|
||||
"/vue-poc/api/images/datetaken",
|
||||
"/vue-poc/api/images/keywords2",
|
||||
"/vue-poc/api/images/list",
|
||||
"/vue-poc/api/images/list/{ $id }/image",
|
||||
"/vue-poc/api/images/list/{ $id }/meta",
|
||||
"/vue-poc/api/images/list/{ $id }/thumb",
|
||||
"/vue-poc/api/images/list/{$id}",
|
||||
"/vue-poc/api/images/report",
|
||||
"/vue-poc/api/job",
|
||||
"/vue-poc/api/job/{$job}",
|
||||
"/vue-poc/api/log",
|
||||
"/vue-poc/api/log/add",
|
||||
"/vue-poc/api/login-check",
|
||||
"/vue-poc/api/logout",
|
||||
"/vue-poc/api/ping",
|
||||
"/vue-poc/api/repo",
|
||||
"/vue-poc/api/search",
|
||||
"/vue-poc/api/start",
|
||||
"/vue-poc/api/status",
|
||||
"/vue-poc/api/tasks",
|
||||
"/vue-poc/api/tasks/model",
|
||||
"/vue-poc/api/tasks/task",
|
||||
"/vue-poc/api/tasks/vue-compile",
|
||||
"/vue-poc/api/tasks/xqdoc",
|
||||
"/vue-poc/api/tasks/{$task}",
|
||||
"/vue-poc/api/test-select",
|
||||
"/vue-poc/api/thumbnail",
|
||||
"/vue-poc/api/thumbnail/images",
|
||||
"/vue-poc/api/thumbnail/validate",
|
||||
"/vue-poc/api/user",
|
||||
"/vue-poc/api/validate",
|
||||
"/vue-poc/api/xqdoc",
|
||||
"/vue-poc/api/xslt",
|
||||
"/vue-poc/ui",
|
||||
"/vue-poc/ui/{$file=.+}",
|
||||
"vue-poc/api/data/entity",
|
||||
"vue-poc/api/data/entity/{$entity}",
|
||||
"vue-poc/api/data/entity/{$entity}/field"
|
||||
);
|
||||
|
||||
|
||||
(:~
|
||||
: convert path(s) to tree
|
||||
|
|
@ -91,13 +16,14 @@ fn:fold-right($a,
|
|||
)
|
||||
};
|
||||
|
||||
(:~ convert a path to xml :)
|
||||
declare function tree:nest($path as xs:string)
|
||||
as element(*)
|
||||
{
|
||||
let $path:=if(starts-with($path,"/")) then $path else "/" || $path
|
||||
let $parts:=fn:tokenize(($path),"/")
|
||||
return fn:fold-right(subsequence($parts,1,count($parts)-1),
|
||||
<file name="{$parts[last()]}"/>,
|
||||
<file name="{$parts[last()]}" target="{$path}"/>,
|
||||
tree:wrap#2
|
||||
)
|
||||
};
|
||||
|
|
@ -131,21 +57,3 @@ as element(*)*
|
|||
($a1,$a2)
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
declare %unit:test
|
||||
(:~
|
||||
: smoke test
|
||||
:)
|
||||
function tree:test(){
|
||||
let $t:=tree:build($tree:TEST1)
|
||||
return unit:assert(fn:true(),$t)
|
||||
};
|
||||
|
||||
declare %unit:test
|
||||
function tree:test2(){
|
||||
|
||||
let $t:=tree:build($tree:TEST1)
|
||||
return unit:assert(fn:false(),$t)
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,125 +3,125 @@
|
|||
Version: 0.1 Comments: I/p is files e.g <c:directory name="adminlog" xml:base="file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/adminlog/">
|
||||
<c:file name="logs.xqm"/> -->
|
||||
<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:doc="http://www.xqdoc.org/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fn="http://www.w3.org/2005/02/xpath-functions"
|
||||
xmlns:qd="http://www.quodatum.com/ns/xsl" exclude-result-prefixes="xs doc fn"
|
||||
xmlns:c="http://www.w3.org/ns/xproc-step" version="3.0">
|
||||
<xsl:import href="xqdoc.xsl"/>
|
||||
|
||||
<!-- build project index" -->
|
||||
<xsl:param name="project" as="xs:string" >?</xsl:param>
|
||||
<xsl:param name="ext-id" as="xs:string" >?</xsl:param>
|
||||
<xsl:param name="src-folder" as="xs:string" >c:/</xsl:param>
|
||||
<!-- relative path to resource files -->
|
||||
<xsl:param name="resources" as="xs:string" select="'resources/'" />
|
||||
xmlns:doc="http://www.xqdoc.org/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fn="http://www.w3.org/2005/02/xpath-functions"
|
||||
xmlns:qd="http://www.quodatum.com/ns/xsl" exclude-result-prefixes="xs doc fn"
|
||||
xmlns:c="http://www.w3.org/ns/xproc-step" version="3.0">
|
||||
<xsl:import href="xqdoc.xsl"/>
|
||||
|
||||
<xsl:variable name="css" select="concat($resources,'base.css')" />
|
||||
<!-- build project index" -->
|
||||
<xsl:param name="project" as="xs:string" >?</xsl:param>
|
||||
<xsl:param name="ext-id" as="xs:string" >?</xsl:param>
|
||||
<xsl:param name="src-folder" as="xs:string" >c:/</xsl:param>
|
||||
<!-- relative path to resource files -->
|
||||
<xsl:param name="resources" as="xs:string" select="'resources/'" />
|
||||
|
||||
<xsl:template match="/">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv="Generator"
|
||||
content="xqdoc-r - https://github.com/quodatum/xqdoc-r" />
|
||||
<xsl:variable name="css" select="concat($resources,'base.css')" />
|
||||
|
||||
<title>
|
||||
<xsl:value-of select="'Index'" /> <xsl:value-of select="$ext-id" />
|
||||
|
||||
* xqDoc
|
||||
</title>
|
||||
<xsl:call-template name="resources">
|
||||
<xsl:with-param name="path" select="$resources"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<xsl:template match="/">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv="Generator"
|
||||
content="xqdoc-r - https://github.com/quodatum/xqdoc-r" />
|
||||
|
||||
<body class="home" id="top">
|
||||
<div id="main">
|
||||
<h1>
|
||||
<span class="tag tag-success">
|
||||
<xsl:value-of select="$project" />
|
||||
</span>
|
||||
XQDoc ,id: <xsl:value-of select="$ext-id" />
|
||||
</h1>
|
||||
<xsl:call-template name="toc" />
|
||||
<a href="restxq.html">RestXQ</a>
|
||||
<div>src: <xsl:value-of select="$src-folder" /></div>
|
||||
<div id="file">
|
||||
<h1>Files</h1>
|
||||
<ul>
|
||||
<xsl:apply-templates select=".//c:file" />
|
||||
</ul>
|
||||
</div>
|
||||
<title>
|
||||
<xsl:value-of select="'Index'" /> <xsl:value-of select="$ext-id" />
|
||||
|
||||
<div id="ns">
|
||||
<h1>Namespace</h1>
|
||||
<ul>
|
||||
<xsl:for-each select=".//c:file">
|
||||
<xsl:variable name="path" select="resolve-uri(@name,$src-folder)"/>
|
||||
<xsl:variable name="doc" select="doc($path)"/>
|
||||
<li>
|
||||
<xsl:value-of select="position()"/>
|
||||
<xsl:value-of select="$path"/>
|
||||
</li>
|
||||
</xsl:for-each>
|
||||
</ul>
|
||||
</div>
|
||||
* xqDoc
|
||||
</title>
|
||||
<xsl:call-template name="resources">
|
||||
<xsl:with-param name="path" select="$resources"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
|
||||
<div class="footer">
|
||||
<p style="text-align:right">
|
||||
|
|
||||
generated at
|
||||
<xsl:value-of select="current-dateTime()" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<body class="home" id="top">
|
||||
<div id="main">
|
||||
<h1>
|
||||
<span class="tag tag-success">
|
||||
<xsl:value-of select="$project" />
|
||||
</span>
|
||||
XQDoc ,id: <xsl:value-of select="$ext-id" />
|
||||
</h1>
|
||||
<xsl:call-template name="toc" />
|
||||
<a href="restxq.html">RestXQ</a>
|
||||
<div>src: <xsl:value-of select="$src-folder" /></div>
|
||||
<div id="file">
|
||||
<h1>Files</h1>
|
||||
<ul>
|
||||
<xsl:apply-templates select=".//c:file" />
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
<div id="ns">
|
||||
<h1>Namespace</h1>
|
||||
<ul>
|
||||
<xsl:for-each select=".//c:file">
|
||||
<xsl:variable name="path" select="resolve-uri(@name,$src-folder)"/>
|
||||
<xsl:variable name="doc" select="doc($path)"/>
|
||||
<li>
|
||||
<xsl:value-of select="position()"/>
|
||||
<xsl:value-of select="$path"/>
|
||||
</li>
|
||||
</xsl:for-each>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<xsl:template match="c:file">
|
||||
<xsl:variable name="path" select="string-join(ancestor-or-self::*/@name,'/')"/>
|
||||
<li>
|
||||
<a href="F{position()}/index.html">
|
||||
<xsl:value-of select="qd:path(@name)" />
|
||||
</a>
|
||||
|
||||
<xsl:value-of select="position()" />
|
||||
<xsl:value-of select="$path" />
|
||||
</li>
|
||||
</xsl:template>
|
||||
<div class="footer">
|
||||
<p style="text-align:right">
|
||||
|
|
||||
generated at
|
||||
<xsl:value-of select="current-dateTime()" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="c:file">
|
||||
<xsl:variable name="path" select="string-join(ancestor-or-self::*/@name,'/')"/>
|
||||
<li>
|
||||
<a href="modules/F{position()}/index.html">
|
||||
<xsl:value-of select="qd:path(@name)" />
|
||||
</a>
|
||||
|
||||
<xsl:value-of select="position()" />
|
||||
<xsl:value-of select="$path" />
|
||||
</li>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="toc">
|
||||
<nav id="toc">
|
||||
<h2>
|
||||
<a id="contents"></a>
|
||||
<span class="tag tag-success">
|
||||
<xsl:value-of select="$project" />
|
||||
</span>
|
||||
</h2>
|
||||
<ol class="toc">
|
||||
<li>
|
||||
<a href="#main">
|
||||
<span class="secno">1 </span>
|
||||
<span class="content">Introduction</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#ns">
|
||||
<span class="secno">2 </span>
|
||||
<span class="content">Namespaces</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#file">
|
||||
<span class="secno">3 </span>
|
||||
<span class="content">Files</span>
|
||||
</a>
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="toc">
|
||||
<nav id="toc">
|
||||
<h2>
|
||||
<a id="contents"></a>
|
||||
<span class="tag tag-success">
|
||||
<xsl:value-of select="$project" />
|
||||
</span>
|
||||
</h2>
|
||||
<ol class="toc">
|
||||
<li>
|
||||
<a href="#main">
|
||||
<span class="secno">1 </span>
|
||||
<span class="content">Introduction</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#ns">
|
||||
<span class="secno">2 </span>
|
||||
<span class="content">Namespaces</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#file">
|
||||
<span class="secno">3 </span>
|
||||
<span class="content">Files</span>
|
||||
</a>
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
|
|||
|
|
@ -7,13 +7,13 @@
|
|||
<xsl:import href="xqdoc.xsl"/>
|
||||
<!-- Standalone xqdoc:xqdoc transform mode"restxq" -->
|
||||
<xsl:param name="project" as="xs:string" select="'unknown'"/>
|
||||
<xsl:param name="source" as="xs:string" >No code provided</xsl:param>
|
||||
<xsl:param name="source" as="xs:string" >Source not available</xsl:param>
|
||||
<xsl:param name="filename" as="xs:string" select="'?file'" />
|
||||
<xsl:param name="ext-id" as="xs:string"></xsl:param>
|
||||
<xsl:param name="show-private" as="xs:boolean" select="false()" />
|
||||
<xsl:param name="resources" as="xs:string" select="'../resources/'" />
|
||||
|
||||
<xsl:variable name="index" select="'../index.html'" />
|
||||
<xsl:param name="resources" as="xs:string" select="'resources/'" />
|
||||
<xsl:param name="root" as="xs:string" select="'../../'" />
|
||||
<xsl:variable name="index" select="concat($root,'index.html')" />
|
||||
<xsl:variable name="vars"
|
||||
select="//doc:variable[$show-private or not(doc:annotations/doc:annotation/@name='private')]" />
|
||||
<xsl:variable name="funs"
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
<xsl:value-of select="$ext-id" />
|
||||
</title>
|
||||
<xsl:call-template name="resources">
|
||||
<xsl:with-param name="path" select="$resources"/>
|
||||
<xsl:with-param name="path" select="concat($root,$resources)"/>
|
||||
</xsl:call-template>
|
||||
</head>
|
||||
<body class="home" id="top">
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ declare function xqd:save-xq($files,$target,$params as map(*))
|
|||
let $f:= document{$files} transform with { delete node //c:directory[not(.//c:file)]}
|
||||
|
||||
return (
|
||||
$files//c:file!xqd:gendoc(.,"F" || position(),$target,$params),
|
||||
$files//c:file!xqd:gendoc(.,"modules/F" || position(),$target,$params),
|
||||
$f=>xqd:store($target || "/files.xml",$xqd:XML),
|
||||
$f=>xqd:index-html($params)=>xqd:store($target || "/index.html",$xqd:HTML5),
|
||||
xqd:export-resources($target)
|
||||
|
|
@ -65,7 +65,7 @@ declare function xqd:gendoc(
|
|||
"filename": $f/@name/string(),
|
||||
"cache": $xqd:cache,
|
||||
"show-private": true(),
|
||||
"resources": "../resources/"},
|
||||
"resources": "resources/"},
|
||||
$params))
|
||||
return (
|
||||
$xq=>xqd:parse()=>xqd:store($dest || "/xparse.xml",$xqd:XML),
|
||||
|
|
@ -96,7 +96,8 @@ as map(*)* {
|
|||
"filename": $f/@name/string(),
|
||||
"cache": $xqd:cache,
|
||||
"show-private": true(),
|
||||
"resources": "../resources/"},
|
||||
"root": "../../",
|
||||
"resources": "resources/"},
|
||||
$params))
|
||||
return (
|
||||
xqd:store2(xqd:parse($xq), "xparse.xml",$xqd:XML),
|
||||
|
|
@ -209,10 +210,6 @@ as element(html)
|
|||
<link rel="stylesheet" type="text/css" href="{$opts?resources}query.css" />
|
||||
<link rel="stylesheet" type="text/css" href="{$opts?resources}base.css" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{$opts?resources}prettify.css" />
|
||||
|
||||
<script src="{$opts?resources}prettify.js" type="text/javascript"> </script>
|
||||
<script src="{$opts?resources}lang-xq.js" type="text/javascript"> </script>
|
||||
</head>
|
||||
|
||||
<body class="home" id="top">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
(: entity access maps
|
||||
: auto generated from xml files in entities folder at: 2018-10-26T22:55:28.159+01:00
|
||||
: auto generated from xml files in entities folder at: 2018-11-30T09:48:45.409Z
|
||||
:)
|
||||
|
||||
module namespace entity = 'quodatum.models.generated';
|
||||
|
|
@ -11,12 +11,12 @@ declare namespace c='http://www.w3.org/ns/xproc-step';
|
|||
declare variable $entity:list:=map {
|
||||
"basexlog": map{
|
||||
"name": "basexlog",
|
||||
"description": "BaseX log entry ",
|
||||
"description": "BaseX log entries ",
|
||||
"access": map{
|
||||
"address": function($_ as element()) as xs:string {$_/@address },
|
||||
"ms": function($_ as element()) as xs:integer {$_/@ms },
|
||||
"text": function($_ as element()) as xs:string {$_/. },
|
||||
"time": function($_ as element()) as xs:string {$_/@time },
|
||||
"time": function($_ as element()) as xs:string {$_/concat(@date,'T',@time) },
|
||||
"type": function($_ as element()) as xs:string {$_/@type },
|
||||
"user": function($_ as element()) as xs:string {$_/@user } },
|
||||
|
||||
|
|
@ -39,7 +39,7 @@ declare variable $entity:list:=map {
|
|||
},
|
||||
"time": function($_ as element()) as element(time)? {
|
||||
(: xs:string :)
|
||||
fn:data($_/@time)!element time { .}
|
||||
fn:data($_/concat(@date,'T',@time))!element time { .}
|
||||
},
|
||||
"type": function($_ as element()) as element(type)? {
|
||||
(: xs:string :)
|
||||
|
|
@ -51,7 +51,15 @@ declare variable $entity:list:=map {
|
|||
} },
|
||||
|
||||
"data": function() as element(entry)*
|
||||
{ hof:top-k-by(admin:logs(), hof:id#1, 2)/string()!reverse(admin:logs(.,true())) },
|
||||
{
|
||||
let $add-date:=function($logs as element(*)*,$d as xs:string){
|
||||
$logs!(. transform with { insert node attribute date {$d} into .})
|
||||
}
|
||||
|
||||
return
|
||||
hof:top-k-by(admin:logs(), string#1, 2)
|
||||
!(reverse(admin:logs(.,true()))=>$add-date(.))
|
||||
},
|
||||
|
||||
"views": map{
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
<entity name="basexlog" xmlns="https://github.com/Quodatum/app-doc/entity">
|
||||
<description>BaseX log entry </description>
|
||||
<description>BaseX log entries </description>
|
||||
|
||||
<fields>
|
||||
<field name="time" type="xs:string">
|
||||
<description>time of event</description>
|
||||
<xpath>@time</xpath>
|
||||
<xpath>concat(@date,'T',@time)</xpath>
|
||||
</field>
|
||||
<field name="address" type="xs:string">
|
||||
<description>IP address</description>
|
||||
|
|
@ -29,5 +29,13 @@
|
|||
</fields>
|
||||
<views iconclass="calendar_today"/>
|
||||
|
||||
<data type="element(entry)">hof:top-k-by(admin:logs(), hof:id#1, 2)/string()!reverse(admin:logs(.,true()))</data>
|
||||
<data type="element(entry)">
|
||||
let $add-date:=function($logs as element(*)*,$d as xs:string){
|
||||
$logs!(. transform with { insert node attribute date {$d} into .})
|
||||
}
|
||||
|
||||
return
|
||||
hof:top-k-by(admin:logs(), string#1, 2)
|
||||
!(reverse(admin:logs(.,true()))=>$add-date(.))
|
||||
</data>
|
||||
</entity>
|
||||
20
src/vue-poc/package.json
Normal file
20
src/vue-poc/package.json
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"name": "vue-poc",
|
||||
"version": "0.1.99",
|
||||
"description": "A vue test",
|
||||
"dependencies": {
|
||||
"foo": "1.0.0 - 2.9999.9999",
|
||||
"bar": ">=1.0.2 <2.1.2",
|
||||
"ace": "1.3.3",
|
||||
"vuetify": "0.15.2",
|
||||
"vue": "2.5.17",
|
||||
"vue-router": "2.5.3",
|
||||
"vue-treeselect": "0.0.25",
|
||||
"google-material": "0.0.0",
|
||||
"js-beautify": "1.6.12",
|
||||
"axios": "0.17.1",
|
||||
"qs": "6.4.0",
|
||||
"localforage": "1.7.1",
|
||||
"moment.js": "2.18.1"
|
||||
}
|
||||
}
|
||||
|
|
@ -94,11 +94,19 @@ const router = new VueRouter({
|
|||
{ path: 'tasks', name: 'taskhistory', component: Taskhistory, meta:{title: "Task History"} },
|
||||
]
|
||||
},
|
||||
|
||||
{ path: '/labs', component: { template: '<router-view/>' }
|
||||
,children: [
|
||||
{ path: 'scratch', component: Scratch, meta:{title:"scratch"} },
|
||||
{ path: 'svg', component: Svg, meta:{title:"SVG"} },
|
||||
{ path: 'svg2', component: Svg2, meta:{title:"SVG2"} },
|
||||
{ path: 'timeline', component: Timeline,meta:{title:"timeline"} },
|
||||
{ path: 'tree', component: Tree, meta:{title:"tree"} },
|
||||
{ path: 'tree2', component: Tree2, meta:{title:"tree2"} },
|
||||
]
|
||||
},
|
||||
|
||||
{ path: '/puzzle', component: Puzzle, meta:{title:"Jigsaw"} },
|
||||
{ path: '/svg', component: Svg, meta:{title:"SVG"} },
|
||||
{ path: '/svg2', component: Svg2, meta:{title:"SVG2"} },
|
||||
|
||||
{ path: '/transform', component: Transform, meta:{title:"XSLT2 Transform"} },
|
||||
{ path: '/validate', component: Validate, meta:{title:"Validate"} },
|
||||
|
||||
|
|
@ -113,16 +121,15 @@ const router = new VueRouter({
|
|||
{ path: '/tasks/vuecompile', component: Vuecompile, meta:{title:"vue compile"} },
|
||||
{ path: '/tasks/:task', component: Runtask, props: true, meta:{title:"Run task"} },
|
||||
|
||||
{ path: '/timeline', component: Timeline,meta:{title:"timeline"} },
|
||||
{ path: '/tree', component: Tree, meta:{title:"tree"} },
|
||||
{ path: '/tree2', component: Tree2, meta:{title:"tree2"} },
|
||||
|
||||
|
||||
{ path: '/map', component: Leaflet,meta:{title:"map"} },
|
||||
|
||||
{ path: '/form', component: Brutusin, meta:{title:"Form demo"} },
|
||||
{ path: '/form2', component: Formsjson, meta:{title:"Form schema"} },
|
||||
{ path: '/form3', component: Formsschema, meta:{title:"vue-form-json-schema"} },
|
||||
|
||||
{ path: '/scratch', component: Scratch, meta:{title:"scratch"} },
|
||||
|
||||
{ path: '/about', component: About, meta:{title:"About Vue-poc"} },
|
||||
{ path: '*', component: Notfound, meta:{title:"Page not found"} }
|
||||
],
|
||||
|
|
@ -132,7 +139,7 @@ router.afterEach(function(route) {
|
|||
});
|
||||
|
||||
router.beforeEach((to, from, next) => {
|
||||
console.log("before: ",to)
|
||||
//console.log("before: ",to)
|
||||
if (to.matched.some(record => record.meta.requiresAuth)) {
|
||||
// this route requires auth, check if logged in
|
||||
// if not, redirect to login page.
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// generated 2018-11-21T11:42:40.952Z
|
||||
// generated 2018-12-17T10:20:51.102Z
|
||||
|
||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/qd-autoheight.vue
|
||||
Vue.component('qd-autoheight',{template:`
|
||||
|
|
@ -79,42 +79,51 @@ Vue.component('qd-confirm',{template:`
|
|||
|
||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/qd-fileupload.vue
|
||||
Vue.component('qd-fileupload',{template:`
|
||||
<vue-clip :options="options">
|
||||
<template slot-scope="clip-uploader-action">
|
||||
<div>
|
||||
<div class="dz-message"><h2> Click or Drag and Drop files here upload </h2></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template slot-scope="clip-uploader-body" scope="props">
|
||||
<div v-for="file in props.files">
|
||||
<img v-bind:src="file.dataUrl">
|
||||
{{ file.name }} {{ file.status }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</vue-clip>
|
||||
<div>
|
||||
<v-btn @click="openFileDialog">
|
||||
Select
|
||||
</v-btn>
|
||||
|
||||
<v-btn @click="uploadFile" icon="">
|
||||
<v-icon>cloud_upload</v-icon>
|
||||
</v-btn>
|
||||
|
||||
<input type="file" name="files" ref="file-upload" multiple="multiple" style="display:none" @change="onFileChange">
|
||||
</div>
|
||||
`,
|
||||
|
||||
data () {
|
||||
return {
|
||||
options: {
|
||||
url: '/vue-poc/api/upload',
|
||||
paramName: 'file',
|
||||
maxFilesize: {
|
||||
limit: 1,
|
||||
message: '{{ filesize }} is greater than the {{ maxFilesize }}'
|
||||
},
|
||||
maxFiles: {
|
||||
limit: 5,
|
||||
message: 'You can only upload a max of 5 files'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
props: ['url'
|
||||
],
|
||||
data() {
|
||||
return {
|
||||
formData: new FormData()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openFileDialog() {
|
||||
this.$refs['file-upload'].click();
|
||||
},
|
||||
onFileChange(e) {
|
||||
var self = this;
|
||||
var files = e.target.files || e.dataTransfer.files;
|
||||
if(files.length > 0){
|
||||
for(var i = 0; i< files.length; i++){
|
||||
self.formData.append("files", files[i], files[i].name);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
uploadFile() {
|
||||
var self = this;
|
||||
HTTP.post( this.url, self.formData).then(function (response) {
|
||||
console.log(response);
|
||||
self.$emit("complete",response)
|
||||
}).catch(function (error) {
|
||||
console.log(error);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/qd-fullscreen.vue
|
||||
|
|
@ -373,6 +382,62 @@ Vue.component('qd-table',{template:`
|
|||
|
||||
);
|
||||
|
||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/qd-tablist.vue
|
||||
Vue.component('qd-tablist',{template:`
|
||||
<v-menu left="" bottom="" :close-on-content-click="false">
|
||||
<v-chip slot="activator">
|
||||
|
||||
{{ EditTabs.length }}
|
||||
<v-avatar>
|
||||
<v-icon right="">arrow_drop_down</v-icon>
|
||||
</v-avatar>
|
||||
</v-chip>
|
||||
<v-card>
|
||||
<v-toolbar>
|
||||
<v-text-field prepend-icon="filter_list" label="type filter text" single-line="" hide-details="" v-model="search" clearable=""></v-text-field>
|
||||
|
||||
</v-toolbar>
|
||||
<v-card-text>
|
||||
<v-list style="height: 300px; overflow-y: auto;">
|
||||
<v-list-tile v-for="index in edittabs.sorted()" :key="index" avatar="" dense="" ripple="" @click="setItem(index)" :inactive="index == current">
|
||||
<v-list-tile-avatar>
|
||||
<v-icon v-if="index == current">check_circle</v-icon>
|
||||
<v-icon v-else="">insert_drive_file</v-icon>
|
||||
</v-list-tile-avatar>
|
||||
|
||||
<v-list-tile-content>
|
||||
<v-list-tile-title>{{ edittabs.items[index].name }}</v-list-tile-title>
|
||||
</v-list-tile-content>
|
||||
|
||||
<v-list-tile-action>
|
||||
{{ edittabs.items[index].id }} [{{ index }}]
|
||||
</v-list-tile-action>
|
||||
</v-list-tile>
|
||||
</v-list>
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
current : {{ current }}
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-menu>
|
||||
`,
|
||||
|
||||
props: ['edittabs',
|
||||
'current'
|
||||
],
|
||||
data () {
|
||||
return {
|
||||
search:null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
setItem(index){
|
||||
this.$emit('selected', index)
|
||||
},
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/vis-time-line.vue
|
||||
Vue.component('vis-time-line',{template:`
|
||||
<div></div>
|
||||
|
|
@ -804,6 +869,8 @@ Vue.component('vue-ace',{template:`
|
|||
'events', // event bus if set handles "eventFired",cmd
|
||||
'settings',
|
||||
'minLines',
|
||||
'completer',
|
||||
'snippets'
|
||||
],
|
||||
data () {
|
||||
return {
|
||||
|
|
@ -817,9 +884,10 @@ Vue.component('vue-ace',{template:`
|
|||
enableBasicAutocompletion:true,
|
||||
enableLiveAutocompletion:true
|
||||
},
|
||||
|
||||
annots:{
|
||||
error:0,warning:0,info:0
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -832,6 +900,8 @@ Vue.component('vue-ace',{template:`
|
|||
'mode' (value) {
|
||||
var session=this.editor.getSession()
|
||||
session.setMode(`ace/mode/${value}`)
|
||||
|
||||
|
||||
},
|
||||
'wrap' (value) {
|
||||
var session=this.editor.getSession()
|
||||
|
|
@ -934,7 +1004,7 @@ Vue.component('vue-ace',{template:`
|
|||
this.editor.getSession().selection.on('changeCursor', (e) => {
|
||||
var position = this.editor.selection.cursor;
|
||||
var token = this.editor.getSession().getTokenAt(position.row, position.column);
|
||||
console.log("token",token);
|
||||
//console.log("token",token);
|
||||
this.$emit('token', token);
|
||||
});
|
||||
|
||||
|
|
@ -945,10 +1015,83 @@ Vue.component('vue-ace',{template:`
|
|||
}else this.command(cmd);
|
||||
});
|
||||
}
|
||||
|
||||
if(this.completer){
|
||||
var langTools = ace.require("ace/ext/language_tools");
|
||||
langTools.addCompleter(this.completer);
|
||||
}
|
||||
|
||||
if(this.snippets){
|
||||
var snippetManager = ace.require("ace/snippets").snippetManager;
|
||||
snippetManager.register(this.snippets, "xquery");
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/aceextras.js
|
||||
// ace customisations
|
||||
const AceExtras={
|
||||
rhymeCompleter: {
|
||||
// test completer
|
||||
getCompletions: function(editor, session, pos, prefix, callback) {
|
||||
if (prefix.length === 0) { callback(null, []); return }
|
||||
axios.get("http://rhymebrain.com/talk",{params:{function:"getRhymes",word:prefix}})
|
||||
.then(
|
||||
function(wordList) {
|
||||
// wordList like [{"word":"flow","freq":24,"score":300,"flags":"bc","syllables":"1"}]
|
||||
var r=wordList.data.map(function(ea) {
|
||||
return {name: ea.word, value: ea.word, score: ea.score, meta: "rhyme"}
|
||||
})
|
||||
callback(null,r)
|
||||
})
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
//basex functions
|
||||
basexCompleter: {
|
||||
getCompletions: function(editor, session, pos, prefix, callback) {
|
||||
if (prefix.length === 0) { callback(null, []); return }
|
||||
console.log("dd",prefix)
|
||||
callback(null, [{
|
||||
caption: "archive:create#2",
|
||||
snippet: "archive:create(${1:entries}, ${2:contents})",
|
||||
score: 100,
|
||||
meta: "archive",
|
||||
completer: this
|
||||
}, {
|
||||
caption: "archive:create#3",
|
||||
snippet: "archive:create(${1:entries}, ${2:contents}, ${3:options})",
|
||||
score: 100,
|
||||
meta: "archive",
|
||||
completer: this
|
||||
}])
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
snippets:[
|
||||
{
|
||||
name: "test",
|
||||
content: "something",
|
||||
tabTrigger: "test:"
|
||||
},
|
||||
{
|
||||
name: "test2",
|
||||
content: "some2",
|
||||
tabTrigger: "he"
|
||||
}
|
||||
],
|
||||
install: function(Vue){
|
||||
Object.defineProperty(Vue.prototype, '$aceExtras', {
|
||||
get () { return AceExtras }
|
||||
})
|
||||
}
|
||||
};
|
||||
Vue.use(AceExtras);
|
||||
|
||||
|
||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/components/auth.js
|
||||
// Authorization Object
|
||||
const Auth={
|
||||
|
|
@ -975,21 +1118,24 @@ Vue.use(Auth);
|
|||
// name:
|
||||
// contentType:
|
||||
// text:
|
||||
// id:
|
||||
// id: ids have the form "Tn"
|
||||
// url:
|
||||
// requires: Settings,HTTP
|
||||
//
|
||||
const EditTabs=new Vue({
|
||||
const GEditTabs={
|
||||
data(){
|
||||
return {
|
||||
items:[],
|
||||
length: 0,
|
||||
nextId: 1,
|
||||
currentId: null
|
||||
currentId: null,
|
||||
restored: null
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
addItem(tab){
|
||||
console.log("new: ",tab);
|
||||
//console.log("new: ",tab);
|
||||
var def={name: "AA"+this.nextId,
|
||||
contentType: "text/xml",
|
||||
mode: "xml",
|
||||
|
|
@ -997,20 +1143,17 @@ const EditTabs=new Vue({
|
|||
url: null
|
||||
};
|
||||
var etab = Object.assign(def,tab);
|
||||
etab.id= ""+this.nextId
|
||||
etab.id= "T" + this.nextId
|
||||
this.items.push (etab);
|
||||
this.length++
|
||||
this.nextId++;
|
||||
return etab;
|
||||
},
|
||||
|
||||
closeItem(item){
|
||||
var index=this.items.indexOf(item);
|
||||
if (index > -1) {
|
||||
alert("index: "+index)
|
||||
this.items.splice(index, 1);
|
||||
index=(index==0)?0:index-1;
|
||||
this.currentId=(this.items.length)?"T"+this.items[index].id : null;
|
||||
}
|
||||
//https://github.com/vuejs/vue/issues/5855
|
||||
this.items=this.items.filter(t => t.id !== item.id)
|
||||
this.length--;
|
||||
},
|
||||
|
||||
// fetch content from server and create tab
|
||||
|
|
@ -1037,7 +1180,7 @@ const EditTabs=new Vue({
|
|||
|
||||
restore(){
|
||||
that=this
|
||||
Settings.getItem('edit/items')
|
||||
this.restored=Settings.getItem('edit/items')
|
||||
.then(function (v){
|
||||
console.log("items ",v)
|
||||
v.forEach(v =>that.addItem(v))
|
||||
|
|
@ -1048,11 +1191,18 @@ const EditTabs=new Vue({
|
|||
});
|
||||
},
|
||||
|
||||
sorted(){
|
||||
return this.items.slice(0).sort((a,b) => a.name.localeCompare(b.name))
|
||||
sorted(){ /* sorted indices */
|
||||
var len=this.items.length
|
||||
var indices = new Array(len);
|
||||
for (var i = 0; i < len; ++i) indices[i] = i;
|
||||
var list=this.items
|
||||
return indices.sort((a,b) =>list[a].name.localeCompare(list[b].name))
|
||||
}
|
||||
},
|
||||
created(){
|
||||
console.log("EditTabs created")
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
|
@ -1206,7 +1356,6 @@ const Notification={
|
|||
elapsed: null
|
||||
},
|
||||
opts);
|
||||
console.log("opt",opts);
|
||||
this.messages.unshift(data);
|
||||
this.messages.length = Math.min(this.messages.length, 30);
|
||||
++this.unseen;
|
||||
|
|
@ -1400,7 +1549,7 @@ const Log=Vue.extend({template:`
|
|||
</v-toolbar>
|
||||
<v-data-table :headers="headers" :items="items" :search="search" class="elevation-1" no-data-text="No logs found" v-bind:pagination.sync="pagination">
|
||||
<template slot="items" slot-scope="props">
|
||||
<td class="text-xs-right">{{ props.item.time }}</td>
|
||||
<td :title="props.item.time">{{ props.item.time }}</td>
|
||||
<td class="text-xs-right">{{ props.item.user }}</td>
|
||||
<td class="text-xs-right">{{ props.item.type }}</td>
|
||||
<td class="text-xs-right">{{ props.item.ms }}</td>
|
||||
|
|
@ -1723,7 +1872,6 @@ const Files=Vue.extend({template:`
|
|||
path: a.slice(0,i+1).join("/")+"/"}}
|
||||
);
|
||||
url[0].icon=this.icon;
|
||||
console.log("CRUM",url)
|
||||
return url;
|
||||
},
|
||||
selection(){
|
||||
|
|
@ -2225,7 +2373,7 @@ const Edit=Vue.extend({template:`
|
|||
<v-card-text v-if="!busy">
|
||||
<v-flex xs12="" style="height:70vh" fill-height="">
|
||||
|
||||
<vue-ace :content="contentA" :mode="mode" :wrap="wrap" :settings="aceSettings" :events="events" v-resize="onResize" v-on:change-content="changeContentA" v-on:annotation="annotation"></vue-ace>
|
||||
<vue-ace :content="contentA" :mode="mode" :wrap="wrap" :settings="aceSettings" :events="events" v-resize="onResize" :completer="$aceExtras.basexCompleter" :snippets="$aceExtras.snippets" v-on:change-content="changeContentA" v-on:annotation="annotation"></vue-ace>
|
||||
</v-flex>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
|
|
@ -2517,7 +2665,7 @@ const Tabs=Vue.extend({template:`
|
|||
</v-menu>
|
||||
|
||||
<v-tabs v-model="currentId" slot="extension">
|
||||
<v-tab v-for="item in EditTabs.items" :key="item.id" :href="'#T' + item.id" ripple="" style="text-transform: none;text-align:left">
|
||||
<v-tab v-for="item in EditTabs.items" :key="item.id" ripple="" style="text-transform: none;text-align:left">
|
||||
<v-avatar>
|
||||
<v-icon size="16px">insert_drive_file</v-icon>
|
||||
</v-avatar>
|
||||
|
|
@ -2533,7 +2681,7 @@ const Tabs=Vue.extend({template:`
|
|||
|
||||
|
||||
<v-tabs-items slot="body" v-model="currentId">
|
||||
<v-tab-item v-for="item in EditTabs.items" :key="item.id" :id="'T' + item.id">
|
||||
<v-tab-item v-for="item in EditTabs.items" :key="item.id" :value="item.id">
|
||||
<v-card flat="" v-if="showInfo">
|
||||
<v-card-actions>
|
||||
<v-toolbar-title>Metadata for tab id: '{{ currentId }}'</v-toolbar-title>
|
||||
|
|
@ -2665,9 +2813,9 @@ const Tabs=Vue.extend({template:`
|
|||
|
||||
watch:{
|
||||
currentId (val) {
|
||||
console.log("currentId: ",val)
|
||||
this.active = EditTabs.items.find(e=> val=="T"+e.id);
|
||||
this.$router.push({ query: { id: val }});
|
||||
console.log("current",val)
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -4207,13 +4355,13 @@ const Jobs=Vue.extend({template:`
|
|||
<v-checkbox primary="" hide-details="" v-model="props.selected"></v-checkbox>
|
||||
</td>
|
||||
<td class="vtop"> <router-link :to="{name: 'jobShow', params: {job: props.item.id }}">{{props.item.id}}</router-link></td>
|
||||
<td class="vtop "><div>{{ props.item.state }}</div>
|
||||
<div>{{ props.item.type }}</div> </td>
|
||||
<td class="vtop text-xs-right">{{ props.item.duration }}</td>
|
||||
<td class="vtop "><div>{{ props.item.state }}</div><div>{{ props.item.type }}</div> </td>
|
||||
<td class="vtop " :title="props.item.registered">{{ props.item.registered | fromNow}}</td>
|
||||
<td class="vtop " :title="props.item.start">{{ props.item.start | fromNow}}</td>
|
||||
<td class="vtop text-xs-right">{{ props.item.duration }}</td>
|
||||
<td class="vtop text-xs-right">{{ props.item.writes }}</td>
|
||||
<td class="vtop text-xs-right">{{ props.item.reads }}</td>
|
||||
<td class="vtop text-xs-right">{{ props.item.user }}</td>
|
||||
<td class="vtop"><code class="multiline-ellipsis">{{ props.item.text }}</code></td>
|
||||
</template>
|
||||
</v-data-table>
|
||||
</v-card>
|
||||
|
|
@ -4228,11 +4376,12 @@ const Jobs=Vue.extend({template:`
|
|||
value: 'id'
|
||||
},
|
||||
{ text: 'State', value: 'state' },
|
||||
{ text: 'Registered', value: 'registered' },
|
||||
{ text: 'Start', value: 'start' },
|
||||
{ text: 'Duration', value: 'duration' },
|
||||
{ text: 'WriteL', value: 'writes' },
|
||||
{ text: 'ReadL', value: 'reads' },
|
||||
{ text: 'User', value: 'user' },
|
||||
{ text: 'Query', value: 'text' }
|
||||
{ text: 'User', value: 'user' }
|
||||
],
|
||||
items:[
|
||||
],
|
||||
|
|
@ -4284,7 +4433,7 @@ const Login=Vue.extend({template:`
|
|||
<v-card>
|
||||
|
||||
<v-card-title class="red">
|
||||
<span class="white--text">The current credentials do the give access this page, please login again</span>
|
||||
<span class="white--text">The current credentials do the give access this page, please login.</span>
|
||||
</v-card-title>
|
||||
|
||||
<v-card-actions>
|
||||
|
|
@ -4306,7 +4455,7 @@ const Login=Vue.extend({template:`
|
|||
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn color="primary" @click="go()">Continue</v-btn>
|
||||
<v-btn color="primary" @click="go()">Login</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-flex>
|
||||
|
|
@ -4535,7 +4684,7 @@ const Entity1=Vue.extend({template:`
|
|||
|
||||
<v-expansion-panel v-model="panel" expand="">
|
||||
<v-expansion-panel-content>
|
||||
<div slot="header" class="title">Description: </div>
|
||||
<div slot="header" class="title"><v-icon>{{ item.iconclass }}</v-icon> {{ item.name }}</div>
|
||||
{{item.description}}
|
||||
<pre v-if="xml"><code>{{ xml }}</code></pre>
|
||||
</v-expansion-panel-content>
|
||||
|
|
@ -4902,27 +5051,142 @@ created:function(){
|
|||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/scratch.vue
|
||||
const Scratch=Vue.extend({template:`
|
||||
<v-container fluid="">
|
||||
<qd-fileupload title="Up it" selected-callback="upit">up load</qd-fileupload>
|
||||
<qd-autoheight>
|
||||
<vue-ace :content="ace" mode="xml"></vue-ace>
|
||||
</qd-autoheight>
|
||||
<v-toolbar tabs="" dense="">
|
||||
<v-toolbar-title>Tab index {{ curIndex }}</v-toolbar-title>
|
||||
<v-btn v-if="active">{{ active.mode }}</v-btn>
|
||||
<v-btn v-if="active"> {{ active.name }}, id: {{ active.id }}</v-btn>
|
||||
<v-spacer></v-spacer>
|
||||
|
||||
<v-btn @click="add">Add</v-btn>
|
||||
<v-btn @click="curIndex=2">set</v-btn>
|
||||
<qd-tablist :edittabs="EditTabs" :current="curIndex" @selected="setItem">tab list</qd-tablist>
|
||||
|
||||
<v-tabs v-model="curIndex" slot="extension">
|
||||
<v-tab v-for="(item,index) in EditTabs.items" :key="item.id" ripple="" style="text-transform: none;text-align:left">
|
||||
<v-avatar>
|
||||
<v-icon size="16px">insert_drive_file</v-icon>
|
||||
</v-avatar>
|
||||
<span>{{ (item.dirty?"*":"") }}</span>
|
||||
<span>{{ item.name }}</span>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn icon="" @click.stop="tabClose(item,index)">
|
||||
<v-icon size="16px">close</v-icon>
|
||||
</v-btn>
|
||||
</v-tab>
|
||||
</v-tabs>
|
||||
</v-toolbar>
|
||||
|
||||
|
||||
<v-tabs-items v-model="curIndex">
|
||||
<v-tab-item v-for="item in EditTabs.items" :key="item.id">
|
||||
<v-card>
|
||||
<div style="height:200px" ref="ace" v-resize="onResize">
|
||||
<v-flex xs12="" fill-height="">
|
||||
<vue-ace :content="item.text" v-on:change-content="changeContent" :events="events" :mode="item.mode" :wrap="wrap" :settings="aceSettings" v-on:annotation="annotation"></vue-ace>
|
||||
</v-flex>
|
||||
</div>
|
||||
</v-card>
|
||||
|
||||
</v-tab-item>
|
||||
</v-tabs-items>
|
||||
</v-container>
|
||||
`,
|
||||
|
||||
data: function(){
|
||||
return {
|
||||
message: 'bad route!',
|
||||
ace:"<xml>here</xml>"
|
||||
curIndex: null, //index of current
|
||||
active: null,
|
||||
showInfo: false, // showing info
|
||||
wrap: true,
|
||||
events: new Vue({}),
|
||||
aceSettings: {},
|
||||
annotations: null,
|
||||
folded: false,
|
||||
EditTabs: EditTabs
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
upit:function(s){
|
||||
alert("up")
|
||||
add(){
|
||||
var a=this.EditTabs.addItem({text:"hi "+ new Date()})
|
||||
this.curIndex=this.EditTabs.items.indexOf(a)
|
||||
},
|
||||
|
||||
tabClose(item,index){
|
||||
if(item.dirty){
|
||||
if (!confirm("Not saved continue? "+ index))return;
|
||||
}else{
|
||||
this.EditTabs.closeItem(item)
|
||||
this.curIndex=0
|
||||
}
|
||||
},
|
||||
setItem(v){
|
||||
this.curIndex=v;
|
||||
},
|
||||
annotation(counts){
|
||||
this.annotations=counts
|
||||
//console.log("annotations: ",counts)
|
||||
},
|
||||
changeContent(val){
|
||||
var item=this.active;
|
||||
//console.log("change",val);
|
||||
|
||||
if (item.text !== val) {
|
||||
item.text = val;
|
||||
item.dirty=true;
|
||||
}
|
||||
},
|
||||
onResize(){
|
||||
var el=this.$refs["ace"];
|
||||
for (e of el){
|
||||
//console.log("top",e.offsetTop)
|
||||
var h=Math.max(1,window.innerHeight - e.offsetTop -200)
|
||||
// console.log("h",h)
|
||||
e.style.height=h +"px";
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
computed:{
|
||||
count(){
|
||||
console.log("LEN:",this.EditTabs.length)
|
||||
return this.EditTabs.length
|
||||
}
|
||||
},
|
||||
|
||||
watch:{
|
||||
curIndex (val) {
|
||||
this.active = EditTabs.items[val];
|
||||
console.log("curIndex: ",val)
|
||||
if(this.active) this.$router.push({ query: { id: this.active.id }});
|
||||
}
|
||||
},
|
||||
mounted:function(){
|
||||
console.log("scratch",this.$route.path)
|
||||
}
|
||||
|
||||
beforeRouteEnter (to, from, next) {
|
||||
Promise.all([Settings.getItem('settings/ace')
|
||||
])
|
||||
.then(function(values) {
|
||||
next(vm => {
|
||||
vm.aceSettings = values[0];
|
||||
console.log("SSS",JSON.parse(JSON.stringify(EditTabs.items)))
|
||||
})
|
||||
})
|
||||
},
|
||||
created:function(){
|
||||
var url=this.$route.query.url;
|
||||
if(url){
|
||||
EditTabs.loadItem(url);
|
||||
}else{
|
||||
var tid=this.$route.query.id;
|
||||
var id=EditTabs.items.findIndex(i=>i.id ==tid)
|
||||
console.log("set tab",tid,id)
|
||||
EditTabs.restored.then(()=>{
|
||||
var id=EditTabs.items.findIndex(i=>i.id ==tid)
|
||||
console.log("set tab",tid,id)
|
||||
this.curIndex= id;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
);
|
||||
|
|
@ -5348,20 +5612,30 @@ const Ping=Vue.extend({template:`
|
|||
|
||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/server/upload.vue
|
||||
const Upload=Vue.extend({template:`
|
||||
<v-card>
|
||||
<v-card-title>Upload</v-card-title>
|
||||
<v-card-actions>
|
||||
<qd-fileupload>up..</qd-fileupload>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
`,
|
||||
<v-container fluid="">
|
||||
<v-snackbar v-model="snack" color="success">File upload complete</v-snackbar>
|
||||
<v-card>
|
||||
<v-card-title>File transfers</v-card-title>
|
||||
<v-card-text>
|
||||
<qd-fileupload url="upload" @complete="upit">up load</qd-fileupload>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-container>
|
||||
`,
|
||||
|
||||
data: function(){
|
||||
return {
|
||||
fab: false
|
||||
}
|
||||
return {
|
||||
snack: false
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
upit:function(s){
|
||||
this.snack=true;
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
);
|
||||
|
||||
// src: file:///C:/Users/andy/git/vue-poc/src/vue-poc/features/session.vue
|
||||
|
|
@ -6672,11 +6946,19 @@ const router = new VueRouter({
|
|||
{ path: 'tasks', name: 'taskhistory', component: Taskhistory, meta:{title: "Task History"} },
|
||||
]
|
||||
},
|
||||
|
||||
{ path: '/labs', component: { template: '<router-view/>' }
|
||||
,children: [
|
||||
{ path: 'scratch', component: Scratch, meta:{title:"scratch"} },
|
||||
{ path: 'svg', component: Svg, meta:{title:"SVG"} },
|
||||
{ path: 'svg2', component: Svg2, meta:{title:"SVG2"} },
|
||||
{ path: 'timeline', component: Timeline,meta:{title:"timeline"} },
|
||||
{ path: 'tree', component: Tree, meta:{title:"tree"} },
|
||||
{ path: 'tree2', component: Tree2, meta:{title:"tree2"} },
|
||||
]
|
||||
},
|
||||
|
||||
{ path: '/puzzle', component: Puzzle, meta:{title:"Jigsaw"} },
|
||||
{ path: '/svg', component: Svg, meta:{title:"SVG"} },
|
||||
{ path: '/svg2', component: Svg2, meta:{title:"SVG2"} },
|
||||
|
||||
{ path: '/transform', component: Transform, meta:{title:"XSLT2 Transform"} },
|
||||
{ path: '/validate', component: Validate, meta:{title:"Validate"} },
|
||||
|
||||
|
|
@ -6691,16 +6973,15 @@ const router = new VueRouter({
|
|||
{ path: '/tasks/vuecompile', component: Vuecompile, meta:{title:"vue compile"} },
|
||||
{ path: '/tasks/:task', component: Runtask, props: true, meta:{title:"Run task"} },
|
||||
|
||||
{ path: '/timeline', component: Timeline,meta:{title:"timeline"} },
|
||||
{ path: '/tree', component: Tree, meta:{title:"tree"} },
|
||||
{ path: '/tree2', component: Tree2, meta:{title:"tree2"} },
|
||||
|
||||
|
||||
{ path: '/map', component: Leaflet,meta:{title:"map"} },
|
||||
|
||||
{ path: '/form', component: Brutusin, meta:{title:"Form demo"} },
|
||||
{ path: '/form2', component: Formsjson, meta:{title:"Form schema"} },
|
||||
{ path: '/form3', component: Formsschema, meta:{title:"vue-form-json-schema"} },
|
||||
|
||||
{ path: '/scratch', component: Scratch, meta:{title:"scratch"} },
|
||||
|
||||
{ path: '/about', component: About, meta:{title:"About Vue-poc"} },
|
||||
{ path: '*', component: Notfound, meta:{title:"Page not found"} }
|
||||
],
|
||||
|
|
@ -6710,7 +6991,7 @@ router.afterEach(function(route) {
|
|||
});
|
||||
|
||||
router.beforeEach((to, from, next) => {
|
||||
console.log("before: ",to)
|
||||
//console.log("before: ",to)
|
||||
if (to.matched.some(record => record.meta.requiresAuth)) {
|
||||
// this route requires auth, check if logged in
|
||||
// if not, redirect to login page.
|
||||
|
|
@ -6804,7 +7085,8 @@ const Vuepoc=Vue.extend({template:`
|
|||
<v-list-tile-title><qd-fullscreen> Full screen</qd-fullscreen></v-list-tile-title>
|
||||
</v-list-tile>
|
||||
<v-list-tile>
|
||||
<v-list-tile-title><v-switch label="Dark theme" v-model="dark"></v-switch></v-list-tile-title>
|
||||
<v-list-tile-title>Dark theme</v-list-tile-title>
|
||||
<v-list-tile-action><v-switch v-model="dark"></v-switch> </v-list-tile-action>
|
||||
</v-list-tile>
|
||||
<v-divider></v-divider>
|
||||
<v-list-tile>
|
||||
|
|
@ -6925,7 +7207,18 @@ const Vuepoc=Vue.extend({template:`
|
|||
{href: '/tree',text: 'Tree',icon: 'nature'},
|
||||
{href: '/tree2',text: 'Tree 2',icon: 'nature'}
|
||||
]},
|
||||
|
||||
{
|
||||
icon: 'toys',
|
||||
text: 'Labs' ,
|
||||
model: false,
|
||||
children: [
|
||||
{href: '/labs/scratch',text: 'Scratch pad',icon: 'filter_frames'},
|
||||
{href: '/labs/timeline',text: 'Time line',icon: 'timelapse'},
|
||||
{href: '/labs/svg',text: 'SVG',icon: 'extension'},
|
||||
{href: '/labs/svg2',text: 'SVG2',icon: 'extension'},
|
||||
{href: '/labs/tree',text: 'Tree',icon: 'nature'},
|
||||
{href: '/labs/tree2',text: 'Tree 2',icon: 'nature'}
|
||||
]},
|
||||
{href: '/settings',text: 'Settings',icon: 'settings' },
|
||||
{href: '/about',text: 'About (v0.3.2)' , icon: 'help' },
|
||||
]
|
||||
|
|
@ -7215,6 +7508,7 @@ Vue.component('l-marker', Vue2Leaflet.LMarker);
|
|||
// Vue.component('form-schema', window["vue-json-schema"].default);
|
||||
//};
|
||||
//Vue.use({ install: install });
|
||||
var EditTabs=new Vue(GEditTabs)
|
||||
Vue.use(Vuetify);
|
||||
new Vuepoc().$mount('#app')
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<link rel="shortcut icon" href="/vue-poc/ui/icon.png"/>
|
||||
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic"/>
|
||||
<link rel="stylesheet" href="//fonts.googleapis.com/icon?family=Material+Icons"/>
|
||||
<link rel="stylesheet" href="//unpkg.com/vuetify@1.3.9/dist/vuetify.min.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="//unpkg.com/vuetify@1.3.14/dist/vuetify.min.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="//unpkg.com/@riophae/vue-treeselect@0.0.29/dist/vue-treeselect.min.css"/>
|
||||
<link rel="stylesheet" href="/vue-poc/ui/prism/prism.css" rel="stylesheet" type="text/css"/>
|
||||
<link rel="stylesheet" href="//unpkg.com/leaflet@1.0.3/dist/leaflet.css"/>
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
<body>
|
||||
<div id="app">
|
||||
<h3><code>vue-poc</code> <small>(v0.3.135)</small> </h3>
|
||||
<h3><code>vue-poc</code> <small>(v0.3.150)</small> </h3>
|
||||
|
||||
<div class="spinner">
|
||||
<div class="rect1"></div>
|
||||
|
|
@ -33,14 +33,14 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/vue/2.5.21/vue.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/vue-router/3.0.1/vue-router.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/axios/0.18.0/axios.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/qs/6.4.0/qs.js" crossorigin="anonymous" ></script>
|
||||
<script src="//unpkg.com/vuetify@1.3.9/dist/vuetify.min.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.1/ace.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.1/ext-language_tools.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.1/ext-linking.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script src="//unpkg.com/vuetify@1.3.14/dist/vuetify.min.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.2/ace.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.2/ext-language_tools.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/ace/1.4.2/ext-linking.js" crossorigin="anonymous" charset="utf-8"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/d3/4.13.0/d3.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/js-beautify/1.6.12/beautify.js" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/js-beautify/1.6.12/beautify-css.js" crossorigin="anonymous"></script>
|
||||
|
|
|
|||
9
vue-poc.iml
Normal file
9
vue-poc.iml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
Loading…
Add table
Reference in a new issue