Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
W
WidgetUI
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
WuFeiyang
WidgetUI
Commits
69b90c61
Commit
69b90c61
authored
Sep 18, 2019
by
WuFeiyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
加了ignore拖拽处理
parent
75e43eaf
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
206 additions
and
7 deletions
+206
-7
src/App.vue
src/App.vue
+4
-2
src/components/Config/Config.vue
src/components/Config/Config.vue
+194
-0
src/components/Method/Method.vue
src/components/Method/Method.vue
+3
-3
src/components/Status/Status.vue
src/components/Status/Status.vue
+5
-2
No files found.
src/App.vue
View file @
69b90c61
...
...
@@ -37,10 +37,12 @@
:h=
"widget.h"
:i=
"widget.i"
:key=
"widget.i"
drag-allow-from=
".vue-draggable-handle"
drag-ignore-from=
".no-drag"
>
<div
style=
"border-color: rgb(206, 212, 218);"
>
<div
style=
"height:20px;background-color:rgb(0, 123, 255)"
></div>
<component
:is=
"widget.widgetComponentName"
:ref=
"widget.ref"
></component>
<div
class=
"vue-draggable-handle"
style=
"height:20px;background-color:rgb(0, 123, 255)"
></div>
<component
class=
"no-drag"
:is=
"widget.widgetComponentName"
:ref=
"widget.ref"
></component>
</div>
</grid-item>
</grid-layout>
...
...
src/components/Config/Config.vue
View file @
69b90c61
<
template
>
<b-container
class=
"bv-example-row"
>
<b-row
style=
"margin-top:10px"
>
<b-col>
<span
style=
"float:left;font-size:20px"
>
path:
{{
config
.
data
.
url
}}
</span>
</b-col>
<b-col>
<b-button
@
click=
"showPathConfig"
variant=
"primary"
style=
"float:right"
><span
class=
"glyphicon glyphicon-cog"
></span></b-button>
</b-col>
<hr
/>
</b-row>
<div
style=
"width:100%"
>
<span
style=
"float:left;font-size:20px"
>
{{
StatusValue
}}
</span>
<hr
/>
</div>
<b-input-group
prepend=
"path"
v-show=
"isShowPath"
>
<b-form-input
v-model=
"config.data.url"
></b-form-input>
<b-input-group-append>
<b-button
@
click=
"updateUI"
size=
"sm"
text=
"Button"
variant=
"primary"
>
OK
</b-button>
</b-input-group-append>
</b-input-group>
<hr/>
<WidgetParams
ref=
"WidgetParams"
v-show=
"isShowParams&&isShowPath"
action=
"get"
@
updataVariables=
"viewLoad"
></WidgetParams>
</b-container>
</
template
>
<
script
lang=
"ts"
>
import
Vue
from
"
vue
"
;
import
Component
from
"
vue-class-component
"
;
import
{
Prop
,
Watch
}
from
"
vue-property-decorator
"
;
import
{
WidgetConfig
}
from
"
@/models/WidgetConfig
"
;
import
{
UpdatePayload
}
from
"
@/models/UpdatePayload
"
;
import
{
Widget
}
from
"
@/models/wiget
"
;
import
{
ResourceInfo
}
from
"
@/models/Customview
"
;
import
WidgetParams
from
"
@/components/Common/WidgetParams.vue
"
;
import
axios
from
"
axios
"
;
import
Plotly
from
"
plotly.js
"
;
import
PathProcessor
from
"
@/models/PathProcessor
"
;
import
StrMapObjChange
from
"
@/models/StrMapObjChange
"
;
import
{
forEach
}
from
"
typescript-collections/dist/lib/arrays
"
;
import
{
map
}
from
"
d3
"
;
@
Component
({
components
:
{
WidgetParams
}
})
export
default
class
Status
extends
Widget
{
pathProcessor
=
new
PathProcessor
();
strMapObjChange
=
new
StrMapObjChange
();
WidgetComponentName
:
string
=
"
Status
"
;
StatusValue
:
string
=
""
;
pathId
:
string
=
""
;
userInputData
=
new
Map
<
string
,
string
>
();
pathwithVar
:
string
=
""
;
isShowPath
:
boolean
=
false
;
isShowParams
:
boolean
=
false
;
config
:
WidgetConfig
=
{
WidgetComponentName
:
"
Status
"
,
data
:
{
url
:
""
,
userInputData
:
""
}
};
created
()
{
// this.config.data.userInputData = this.userInputData;
this
.
config
.
data
.
userInputData
=
this
.
strMapObjChange
.
strMapToObj
(
this
.
userInputData
);
}
updateUI
()
{
this
.
isShowParams
=
true
;
var
url
=
this
.
config
.
data
.
url
;
this
.
pathId
=
url
.
slice
(
0
,
url
.
indexOf
(
"
/
"
));
(
this
.
$refs
.
WidgetParams
as
WidgetParams
).
setVariableList
(
this
.
pathProcessor
.
extractVarFromPath
(
url
)
);
}
showPathConfig
()
{
this
.
isShowPath
=
!
this
.
isShowPath
;
}
getConfig
():
WidgetConfig
{
// this.config.data.userInputData =(this.$refs.WidgetParams as WidgetParams).getVariableValues();
this
.
config
.
data
.
userInputData
=
this
.
strMapObjChange
.
strMapToObj
((
this
.
$refs
.
WidgetParams
as
WidgetParams
).
getVariableValues
());
return
this
.
config
;
}
setConfig
(
widgetConfig
:
WidgetConfig
):
void
{
this
.
config
=
widgetConfig
;
this
.
updateUI
();
//map不能序列化,必须要单独处理,这里的处理方法仅限map
<
string
,
string
>
类型
var
temp
=
this
.
config
.
data
.
userInputData
;
temp
=
JSON
.
parse
(
JSON
.
stringify
(
temp
));
console
.
log
(
temp
);
temp
=
this
.
strMapObjChange
.
objToStrMap
(
temp
);
console
.
log
(
temp
);
this
.
userInputData
=
temp
;
console
.
log
(
this
.
userInputData
);
/* */
(
this
.
$refs
.
WidgetParams
as
WidgetParams
).
setVariableInput
(
this
.
userInputData
);
}
samplePoke
(
sample
:
ResourceInfo
[],
samplePath
:
string
)
{
var
pokedPath
:
string
;
pokedPath
=
samplePath
;
var
count
:
number
=
0
;
var
temp
=
sample
[
0
].
Parameters
;
temp
=
JSON
.
parse
(
JSON
.
stringify
(
temp
));
console
.
log
(
temp
);
temp
=
this
.
strMapObjChange
.
objToStrMap
(
temp
);
console
.
log
(
temp
);
sample
[
0
].
Parameters
=
temp
;
console
.
log
(
sample
[
0
].
Parameters
);
sample
[
0
].
Parameters
.
forEach
((
value
,
key
)
=>
{
count
++
;
if
(
count
==
1
)
{
pokedPath
=
pokedPath
+
"
?
"
;
}
pokedPath
=
pokedPath
+
key
+
"
=$
"
+
key
+
"
$&
"
;
});
console
.
log
(
pokedPath
);
pokedPath
=
pokedPath
.
substring
(
0
,
pokedPath
.
length
-
1
);
console
.
log
(
pokedPath
);
this
.
config
.
data
.
url
=
pokedPath
;
}
pathPoke
()
{
axios
.
get
(
this
.
config
.
data
.
url
).
then
(
response
=>
{
var
resourcetype
=
response
.
data
.
ResourceType
;
var
samplePath
=
response
.
data
.
CFET2CORE_SAMPLE_PATH
;
var
sample
:
ResourceInfo
[]
=
[];
sample
[
0
]
=
response
.
data
.
Actions
.
get
as
ResourceInfo
;
this
.
samplePoke
(
sample
,
samplePath
);
})
}
replaceStartPath
(
startPath
:
string
):
void
{
this
.
config
.
data
.
url
.
replace
(
'
$startPath$
'
,
startPath
);
}
parentUpdate
(
payload
:
UpdatePayload
):
void
{
}
refresh
()
{
var
Args
:
UpdatePayload
=
{
action
:
"
get
"
,
variables
:
(
this
.
$refs
.
WidgetParams
as
WidgetParams
).
getVariableValues
(),
target
:
[
"
self
"
]
};
this
.
viewLoad
(
Args
);
}
async
getData
(
url
:
string
)
{
var
apiLoad
=
url
;
await
axios
.
get
(
apiLoad
).
then
(
response
=>
{
console
.
log
(
response
);
this
.
StatusValue
=
response
.
data
.
CFET2CORE_SAMPLE_VAL
;
console
.
log
(
this
.
StatusValue
);
});
}
//called when widgetParams action clicked
async
viewLoad
(
Args
:
UpdatePayload
)
{
// this.config.data.userInputData = Args.variables;
this
.
userInputData
=
Args
.
variables
;
this
.
pathwithVar
=
this
.
pathProcessor
.
FillPathWithVar
(
// this.config.data.userInputData,
this
.
userInputData
,
this
.
config
.
data
.
url
);
console
.
log
(
this
.
StatusValue
);
console
.
log
(
this
.
pathwithVar
);
await
this
.
getData
(
this
.
pathwithVar
);
}
}
</
script
>
<
style
scoped
>
.waveView
{
width
:
100%
;
height
:
auto
;
}
</
style
>
\ No newline at end of file
src/components/Method/Method.vue
View file @
69b90c61
...
...
@@ -10,7 +10,7 @@
<hr
/>
</b-row>
<div
style=
"width:100%"
>
<span
style=
"float:left;font-size:20px"
>
{{
StatusValue
}}
</span>
<span
style=
"float:left;font-size:20px"
>
{{
MethodReturn
}}
</span>
<hr
/>
</div>
<b-input-group
prepend=
"path"
v-show=
"isShowPath"
>
...
...
@@ -49,7 +49,7 @@ export default class Method extends Widget {
pathProcessor
=
new
PathProcessor
();
strMapObjChange
=
new
StrMapObjChange
();
WidgetComponentName
:
string
=
"
Method
"
;
StatusValue
:
string
=
""
;
MethodReturn
:
string
=
""
;
pathId
:
string
=
""
;
userInputData
=
new
Map
<
string
,
string
>
();
pathwithVar
:
string
=
""
;
...
...
@@ -163,7 +163,7 @@ export default class Method extends Widget {
async
getData
(
url
:
string
)
{
var
apiLoad
=
url
;
await
axios
.
get
(
apiLoad
).
then
(
response
=>
{
this
.
StatusValue
=
response
.
data
.
ObjectVal
;
this
.
MethodReturn
=
response
.
data
.
CFET2CORE_SAMPLE_VAL
;
});
}
...
...
src/components/Status/Status.vue
View file @
69b90c61
...
...
@@ -163,7 +163,9 @@ export default class Status extends Widget {
async
getData
(
url
:
string
)
{
var
apiLoad
=
url
;
await
axios
.
get
(
apiLoad
).
then
(
response
=>
{
this
.
StatusValue
=
response
.
data
.
ObjectVal
;
console
.
log
(
response
);
this
.
StatusValue
=
response
.
data
.
CFET2CORE_SAMPLE_VAL
;
console
.
log
(
this
.
StatusValue
);
});
}
...
...
@@ -176,7 +178,8 @@ export default class Status extends Widget {
this
.
userInputData
,
this
.
config
.
data
.
url
);
console
.
log
(
this
.
StatusValue
);
console
.
log
(
this
.
pathwithVar
);
await
this
.
getData
(
this
.
pathwithVar
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment