Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
pve-manager
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
pve-manager
Commits
03309acc
Commit
03309acc
authored
Jun 16, 2015
by
Dietmar Maurer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
copy window/TaskViewer.js from manager to manager5
parent
5a4a3ea6
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
223 additions
and
0 deletions
+223
-0
TaskViewer.js
www/manager5/window/TaskViewer.js
+223
-0
No files found.
www/manager5/window/TaskViewer.js
0 → 100644
View file @
03309acc
Ext
.
define
(
'
PVE.window.TaskProgress
'
,
{
extend
:
'
Ext.window.Window
'
,
alias
:
'
widget.pveTaskProgress
'
,
initComponent
:
function
()
{
var
me
=
this
;
if
(
!
me
.
upid
)
{
throw
"
no task specified
"
;
}
var
task
=
PVE
.
Utils
.
parse_task_upid
(
me
.
upid
);
var
statstore
=
Ext
.
create
(
'
PVE.data.ObjectStore
'
,
{
url
:
"
/api2/json/nodes/
"
+
task
.
node
+
"
/tasks/
"
+
me
.
upid
+
"
/status
"
,
interval
:
1000
,
rows
:
{
status
:
{
defaultValue
:
'
unknown
'
},
exitstatus
:
{
defaultValue
:
'
unknown
'
}
}
});
me
.
on
(
'
destroy
'
,
statstore
.
stopUpdate
);
var
getObjectValue
=
function
(
key
,
defaultValue
)
{
var
rec
=
statstore
.
getById
(
key
);
if
(
rec
)
{
return
rec
.
data
.
value
;
}
return
defaultValue
;
};
var
pbar
=
Ext
.
create
(
'
Ext.ProgressBar
'
,
{
text
:
'
running...
'
});
me
.
mon
(
statstore
,
'
load
'
,
function
()
{
var
status
=
getObjectValue
(
'
status
'
);
if
(
status
===
'
stopped
'
)
{
var
exitstatus
=
getObjectValue
(
'
exitstatus
'
);
if
(
exitstatus
==
'
OK
'
)
{
pbar
.
reset
();
pbar
.
updateText
(
"
Done!
"
);
Ext
.
Function
.
defer
(
me
.
close
,
1000
,
me
);
}
else
{
me
.
close
();
Ext
.
Msg
.
alert
(
'
Task failed
'
,
exitstatus
);
}
}
});
var
descr
=
PVE
.
Utils
.
format_task_description
(
task
.
type
,
task
.
id
);
Ext
.
applyIf
(
me
,
{
title
:
"
Task:
"
+
descr
,
width
:
300
,
layout
:
'
auto
'
,
modal
:
true
,
bodyPadding
:
5
,
items
:
pbar
,
buttons
:
[
{
text
:
gettext
(
'
Details
'
),
handler
:
function
()
{
var
win
=
Ext
.
create
(
'
PVE.window.TaskViewer
'
,
{
upid
:
me
.
upid
});
win
.
show
();
me
.
close
();
}
}
]
});
me
.
callParent
();
statstore
.
startUpdate
();
pbar
.
wait
();
}
});
// fixme: how can we avoid those lint errors?
/*jslint confusion: true */
Ext
.
define
(
'
PVE.window.TaskViewer
'
,
{
extend
:
'
Ext.window.Window
'
,
alias
:
'
widget.pveTaskViewer
'
,
initComponent
:
function
()
{
var
me
=
this
;
if
(
!
me
.
upid
)
{
throw
"
no task specified
"
;
}
var
task
=
PVE
.
Utils
.
parse_task_upid
(
me
.
upid
);
var
statgrid
;
var
rows
=
{
status
:
{
header
:
gettext
(
'
Status
'
),
defaultValue
:
'
unknown
'
,
renderer
:
function
(
value
)
{
if
(
value
!=
'
stopped
'
)
{
return
value
;
}
var
es
=
statgrid
.
getObjectValue
(
'
exitstatus
'
);
if
(
es
)
{
return
value
+
'
:
'
+
es
;
}
}
},
exitstatus
:
{
visible
:
false
},
type
:
{
header
:
gettext
(
'
Task type
'
),
required
:
true
},
user
:
{
header
:
gettext
(
'
User name
'
),
required
:
true
},
node
:
{
header
:
gettext
(
'
Node
'
),
required
:
true
},
pid
:
{
header
:
gettext
(
'
Process ID
'
),
required
:
true
},
starttime
:
{
header
:
gettext
(
'
Start Time
'
),
required
:
true
,
renderer
:
PVE
.
Utils
.
render_timestamp
},
upid
:
{
header
:
gettext
(
'
Unique task ID
'
)
}
};
var
statstore
=
Ext
.
create
(
'
PVE.data.ObjectStore
'
,
{
url
:
"
/api2/json/nodes/
"
+
task
.
node
+
"
/tasks/
"
+
me
.
upid
+
"
/status
"
,
interval
:
1000
,
rows
:
rows
});
me
.
on
(
'
destroy
'
,
statstore
.
stopUpdate
);
var
stop_task
=
function
()
{
PVE
.
Utils
.
API2Request
({
url
:
"
/nodes/
"
+
task
.
node
+
"
/tasks/
"
+
me
.
upid
,
waitMsgTarget
:
me
,
method
:
'
DELETE
'
,
failure
:
function
(
response
,
opts
)
{
Ext
.
Msg
.
alert
(
gettext
(
'
Error
'
),
response
.
htmlStatus
);
}
});
};
var
stop_btn1
=
new
Ext
.
Button
({
text
:
gettext
(
'
Stop
'
),
disabled
:
true
,
handler
:
stop_task
});
var
stop_btn2
=
new
Ext
.
Button
({
text
:
gettext
(
'
Stop
'
),
disabled
:
true
,
handler
:
stop_task
});
statgrid
=
Ext
.
create
(
'
PVE.grid.ObjectGrid
'
,
{
title
:
gettext
(
'
Status
'
),
layout
:
'
fit
'
,
tbar
:
[
stop_btn1
],
rstore
:
statstore
,
rows
:
rows
,
border
:
false
});
var
logView
=
Ext
.
create
(
'
PVE.panel.LogView
'
,
{
title
:
gettext
(
'
Output
'
),
tbar
:
[
stop_btn2
],
border
:
false
,
url
:
"
/api2/extjs/nodes/
"
+
task
.
node
+
"
/tasks/
"
+
me
.
upid
+
"
/log
"
});
me
.
mon
(
statstore
,
'
load
'
,
function
()
{
var
status
=
statgrid
.
getObjectValue
(
'
status
'
);
if
(
status
===
'
stopped
'
)
{
logView
.
requestUpdate
(
undefined
,
true
);
logView
.
scrollToEnd
=
false
;
statstore
.
stopUpdate
();
}
stop_btn1
.
setDisabled
(
status
!==
'
running
'
);
stop_btn2
.
setDisabled
(
status
!==
'
running
'
);
});
statstore
.
startUpdate
();
Ext
.
applyIf
(
me
,
{
title
:
"
Task viewer:
"
+
task
.
desc
,
width
:
800
,
height
:
400
,
layout
:
'
fit
'
,
modal
:
true
,
bodyPadding
:
5
,
items
:
[{
xtype
:
'
tabpanel
'
,
region
:
'
center
'
,
items
:
[
logView
,
statgrid
]
}]
});
me
.
callParent
();
logView
.
fireEvent
(
'
show
'
,
logView
);
}
});
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