|
|
@@ -40,98 +40,98 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user, "40px") | n,unicode }
|
|
|
<%def name="widgets()">
|
|
|
<div data-bind="css: { 'draggable-widget': true },
|
|
|
draggable: {data: draggableHiveAction(), isEnabled: true,
|
|
|
- options: {'refreshPositions': true, 'start': function(event, ui){$root.currentlyDraggedWidget(draggableHiveAction());}}}"
|
|
|
+ options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableHiveAction());}}}"
|
|
|
title="${_('Hive Script')}" rel="tooltip" data-placement="top">
|
|
|
<a class="draggable-icon"><img src="/oozie/static/art/icon_beeswax_48.png" class="app-icon"></a>
|
|
|
</div>
|
|
|
|
|
|
<div data-bind="css: { 'draggable-widget': true },
|
|
|
draggable: {data: draggableHive2Action(), isEnabled: true,
|
|
|
- options: {'refreshPositions': true, 'start': function(event, ui){$root.currentlyDraggedWidget(draggableHive2Action());}}}"
|
|
|
+ options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableHive2Action());}}}"
|
|
|
title="${_('HiveServer2 Script')}" rel="tooltip" data-placement="top">
|
|
|
<a class="draggable-icon"><img src="/oozie/static/art/icon_beeswax_48.png" class="app-icon"><sup style="color: #338bb8; margin-left: -4px; top: -14px; font-size: 12px">2</sup></a>
|
|
|
</div>
|
|
|
|
|
|
<div data-bind="css: { 'draggable-widget': true},
|
|
|
draggable: {data: draggablePigAction(), isEnabled: true,
|
|
|
- options: {'refreshPositions': true, 'start': function(event, ui){$root.currentlyDraggedWidget(draggablePigAction());}}}"
|
|
|
+ options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggablePigAction());}}}"
|
|
|
title="${_('Pig Script')}" rel="tooltip" data-placement="top">
|
|
|
<a class="draggable-icon"><img src="/oozie/static/art/icon_pig_48.png" class="app-icon"></a>
|
|
|
</div>
|
|
|
|
|
|
<div data-bind="css: { 'draggable-widget': true },
|
|
|
draggable: {data: draggableJavaAction(), isEnabled: true,
|
|
|
- options: {'start': function(event, ui){$root.currentlyDraggedWidget(draggableJavaAction());}}}"
|
|
|
+ options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableJavaAction());}}}"
|
|
|
title="${_('Java program')}" rel="tooltip" data-placement="top">
|
|
|
<a class="draggable-icon"><i class="fa fa-file-code-o"></i></a>
|
|
|
</div>
|
|
|
|
|
|
<div data-bind="css: { 'draggable-widget': true },
|
|
|
draggable: {data: draggableSqoopAction(), isEnabled: true,
|
|
|
- options: {'start': function(event, ui){$root.currentlyDraggedWidget(draggableSqoopAction());}}}"
|
|
|
+ options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableSqoopAction());}}}"
|
|
|
title="${_('Sqoop 1')}" rel="tooltip" data-placement="top">
|
|
|
<a class="draggable-icon"><img src="/oozie/static/art/icon_sqoop_48.png" class="app-icon"></a>
|
|
|
</div>
|
|
|
|
|
|
<div data-bind="css: { 'draggable-widget': true },
|
|
|
draggable: {data: draggableMapReduceAction(), isEnabled: true,
|
|
|
- options: {'start': function(event, ui){$root.currentlyDraggedWidget(draggableMapReduceAction());}}}"
|
|
|
+ options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableMapReduceAction());}}}"
|
|
|
title="${_('MapReduce job')}" rel="tooltip" data-placement="top">
|
|
|
<a class="draggable-icon"><i class="fa fa-file-archive-o"></i></a>
|
|
|
</div>
|
|
|
|
|
|
<div data-bind="css: { 'draggable-widget': true },
|
|
|
draggable: {data: draggableSubworkflowAction(), isEnabled: true,
|
|
|
- options: {'start': function(event, ui){$root.currentlyDraggedWidget(draggableSubworkflowAction());}}}"
|
|
|
+ options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableSubworkflowAction());}}}"
|
|
|
title="${_('Sub workflow')}" rel="tooltip" data-placement="top">
|
|
|
<a class="draggable-icon"><i class="fa fa-code-fork"></i></a>
|
|
|
</div>
|
|
|
|
|
|
<div data-bind="css: { 'draggable-widget': true },
|
|
|
draggable: {data: draggableShellAction(), isEnabled: true,
|
|
|
- options: {'start': function(event, ui){$root.currentlyDraggedWidget(draggableShellAction());}}}"
|
|
|
+ options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableShellAction());}}}"
|
|
|
title="${_('Shell')}" rel="tooltip" data-placement="top">
|
|
|
<a class="draggable-icon"><i class="fa fa-terminal"></i></a>
|
|
|
</div>
|
|
|
|
|
|
<div data-bind="css: { 'draggable-widget': true },
|
|
|
draggable: {data: draggableSshAction(), isEnabled: true,
|
|
|
- options: {'start': function(event, ui){$root.currentlyDraggedWidget(draggableSshAction());}}}"
|
|
|
+ options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableSshAction());}}}"
|
|
|
title="${_('Ssh')}" rel="tooltip" data-placement="top">
|
|
|
<a class="draggable-icon"><i class="fa fa-tty"></i></a>
|
|
|
</div>
|
|
|
|
|
|
<div data-bind="css: { 'draggable-widget': true },
|
|
|
draggable: {data: draggableFsAction(), isEnabled: true,
|
|
|
- options: {'start': function(event, ui){$root.currentlyDraggedWidget(draggableFsAction());}}}"
|
|
|
+ options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableFsAction());}}}"
|
|
|
title="${_('HDFS Fs')}" rel="tooltip" data-placement="top">
|
|
|
<a class="draggable-icon"><i class="fa fa-file-o"></i></a>
|
|
|
</div>
|
|
|
|
|
|
<div data-bind="css: { 'draggable-widget': true },
|
|
|
draggable: {data: draggableEmailAction(), isEnabled: true,
|
|
|
- options: {'start': function(event, ui){$root.currentlyDraggedWidget(draggableEmailAction());}}}"
|
|
|
+ options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableEmailAction());}}}"
|
|
|
title="${_('Email')}" rel="tooltip" data-placement="top">
|
|
|
<a class="draggable-icon"><i class="fa fa-envelope-o"></i></a>
|
|
|
</div>
|
|
|
|
|
|
<div data-bind="css: { 'draggable-widget': true },
|
|
|
draggable: {data: draggableStreamingAction(), isEnabled: true,
|
|
|
- options: {'start': function(event, ui){$root.currentlyDraggedWidget(draggableStreamingAction());}}}"
|
|
|
+ options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableStreamingAction());}}}"
|
|
|
title="${_('Streaming')}" rel="tooltip" data-placement="top">
|
|
|
<a class="draggable-icon"><i class="fa fa-exchange"></i></a>
|
|
|
</div>
|
|
|
|
|
|
<div data-bind="css: { 'draggable-widget': true },
|
|
|
draggable: {data: draggableDistCpAction(), isEnabled: true,
|
|
|
- options: {'start': function(event, ui){$root.currentlyDraggedWidget(draggableDistCpAction());}}}"
|
|
|
+ options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableDistCpAction());}}}"
|
|
|
title="${_('Distcp')}" rel="tooltip" data-placement="top">
|
|
|
<a class="draggable-icon"><i class="fa fa-files-o"></i></a>
|
|
|
</div>
|
|
|
|
|
|
<div data-bind="css: { 'draggable-widget': true },
|
|
|
draggable: {data: draggableKillNode(), isEnabled: true,
|
|
|
- options: {'start': function(event, ui){$root.currentlyDraggedWidget(draggableKillNode());}}}"
|
|
|
+ options: {'refreshPositions': true, 'stop': function(){ $root.isDragging(false); }, 'start': function(event, ui){ $root.isDragging(true); $root.currentlyDraggedWidget(draggableKillNode());}}}"
|
|
|
title="${_('Kill')}" rel="tooltip" data-placement="top">
|
|
|
<a class="draggable-icon"><i class="fa fa-stop"></i></a>
|
|
|
</div>
|
|
|
@@ -224,18 +224,18 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user, "40px") | n,unicode }
|
|
|
|
|
|
<div class="container-fluid" data-bind="visible: $root.isEditing() && oozieRows().length > 0">
|
|
|
<div class="row-fluid">
|
|
|
- <div data-bind="visible: enableOozieDropOnBefore, css: {'span4 offset4': true, 'drop-target': true, 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(x, y){ var _w = $root.addDraggedWidget($data, true); widgetDraggedAdditionalHandler(_w); } }"></div>
|
|
|
- <div data-bind="visible: ! enableOozieDropOnBefore(), css: {'drop-target drop-target-disabled': true, 'is-editing': $root.isEditing}"></div>
|
|
|
+ <div data-bind="visible: enableOozieDropOnBefore, css: {'span4 offset4': true, 'drop-target': true, 'drop-target-dragging': $root.isDragging(), 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(x, y){ var _w = $root.addDraggedWidget($data, true); widgetDraggedAdditionalHandler(_w); } }"></div>
|
|
|
+ <div data-bind="visible: ! enableOozieDropOnBefore(), css: {'drop-target drop-target-disabled': true, 'drop-target-dragging': $root.isDragging(), 'is-editing': $root.isEditing}"></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div data-bind="template: { name: 'internal-row-template', foreach: oozieRows}">
|
|
|
</div>
|
|
|
<div class="container-fluid" data-bind="visible: $root.isEditing() && rows().length > 0">
|
|
|
<div class="row-fluid">
|
|
|
- <div data-bind="visible: enableOozieDropOnAfter, css: {'span4 offset4': true, 'drop-target': true, 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(){ var _w = $root.addDraggedWidget($data, false); widgetDraggedAdditionalHandler(_w); } }">
|
|
|
+ <div data-bind="visible: enableOozieDropOnAfter, css: {'span4 offset4': true, 'drop-target': true, 'drop-target-dragging': $root.isDragging(), 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(){ var _w = $root.addDraggedWidget($data, false); widgetDraggedAdditionalHandler(_w); } }">
|
|
|
<span data-bind="visible: oozieRows().length == 0">${ _('Drop your action here') }</span>
|
|
|
</div>
|
|
|
- <div data-bind="visible: ! enableOozieDropOnAfter(), css: {'drop-target drop-target-disabled': true, 'is-editing': $root.isEditing}"></div>
|
|
|
+ <div data-bind="visible: ! enableOozieDropOnAfter(), css: {'drop-target drop-target-disabled': true, 'drop-target-dragging': $root.isDragging(), 'is-editing': $root.isEditing}"></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
@@ -249,14 +249,14 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user, "40px") | n,unicode }
|
|
|
<script type="text/html" id="internal-column-template">
|
|
|
<div data-bind="css: klass(), style: {'minHeight': '50px !important', 'width': percWidth() + '%' }">
|
|
|
<div class="container-fluid" data-bind="visible: $root.isEditing()">
|
|
|
- <div data-bind="visible: ! enableOozieDropOnBefore(), css: {'drop-target drop-target-disabled': true, 'is-editing': $root.isEditing}"></div>
|
|
|
- <div data-bind="visible: enableOozieDropOnBefore, css: {'drop-target': true, 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(){ var _w = $root.addDraggedWidget($data, true); widgetDraggedAdditionalHandler(_w); } }"></div>
|
|
|
+ <div data-bind="visible: ! enableOozieDropOnBefore(), css: {'drop-target drop-target-disabled': true, 'drop-target-dragging': $root.isDragging(), 'is-editing': $root.isEditing}"></div>
|
|
|
+ <div data-bind="visible: enableOozieDropOnBefore, css: {'drop-target': true, 'drop-target-dragging': $root.isDragging(), 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(){ var _w = $root.addDraggedWidget($data, true); widgetDraggedAdditionalHandler(_w); } }"></div>
|
|
|
</div>
|
|
|
<div data-bind="template: { name: 'internal-row-template', foreach: rows}">
|
|
|
</div>
|
|
|
<div class="container-fluid" data-bind="visible: $root.isEditing()">
|
|
|
- <div data-bind="visible: ! enableOozieDropOnAfter(), css: {'drop-target drop-target-disabled': true, 'is-editing': $root.isEditing}"></div>
|
|
|
- <div data-bind="visible: enableOozieDropOnAfter, css: {'drop-target': true, 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(){ var _w = $root.addDraggedWidget($data, false); widgetDraggedAdditionalHandler(_w); } }"></div>
|
|
|
+ <div data-bind="visible: ! enableOozieDropOnAfter(), css: {'drop-target drop-target-disabled': true, 'drop-target-dragging': $root.isDragging(), 'is-editing': $root.isEditing}"></div>
|
|
|
+ <div data-bind="visible: enableOozieDropOnAfter, css: {'drop-target': true, 'drop-target-dragging': $root.isDragging(), 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(){ var _w = $root.addDraggedWidget($data, false); widgetDraggedAdditionalHandler(_w); } }"></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</script>
|
|
|
@@ -283,14 +283,14 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user, "40px") | n,unicode }
|
|
|
<div class="row-fluid" data-bind="visible: $index() > 0 && $root.isEditing() && ! $root.isRowBeforeJoin($data) && ! $root.isRowAfterFork($data)" style="margin-bottom: 10px">
|
|
|
<div data-bind="css: {'span1': true, 'offset3andhalf': ($root.isEditing() && $parents.length <= 2 && columns().length == 0), 'offset4': (!$root.isEditing() && $parents.length <= 2 && columns().length == 0), 'readonly': ! $root.isEditing()}"></div>
|
|
|
<div data-bind="css: {'span10': ($parents.length > 2 || columns().length > 0), 'span4': ($parents.length <= 2 && columns().length == 0), 'offset3andhalf': (!$root.isEditing() && $parents.length <= 2 && columns().length == 0), 'readonly': ! $root.isEditing()}">
|
|
|
- <div data-bind="visible: $root.isEditing() && ! enableOozieDropOnBefore(), css: {'drop-target drop-target-disabled': true, 'is-editing': $root.isEditing}"></div>
|
|
|
- <div style="text-align: left" data-bind="visible: $root.isEditing() && enableOozieDropOnBefore(), css: {'drop-target': true, 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(){ var _w = $root.addDraggedWidget($data); widgetDraggedAdditionalHandler(_w); } }"></div>
|
|
|
+ <div data-bind="visible: $root.isEditing() && ! enableOozieDropOnBefore(), css: {'drop-target drop-target-disabled': true, 'drop-target-dragging': $root.isDragging(), 'is-editing': $root.isEditing}"></div>
|
|
|
+ <div style="text-align: left" data-bind="visible: $root.isEditing() && enableOozieDropOnBefore(), css: {'drop-target': true, 'drop-target-dragging': $root.isDragging(), 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(){ var _w = $root.addDraggedWidget($data); widgetDraggedAdditionalHandler(_w); } }"></div>
|
|
|
</div>
|
|
|
<div data-bind="css: {'span1': true, 'readonly': ! $root.isEditing()}"></div>
|
|
|
</div>
|
|
|
<div class="row-fluid" data-bind="style: {'width': columns().length < 5 ? '100%' : (columns().length * 25)+'%' }">
|
|
|
<div data-bind="css: {'span1': true, 'offset3andhalf': ($root.isEditing() && $parents.length <= 2 && columns().length == 0), 'offset4': (!$root.isEditing() && $parents.length <= 2 && columns().length == 0), 'readonly': ! $root.isEditing()}">
|
|
|
- <div data-bind="visible: $root.isEditing() && enableOozieDropOnSide() && !($data.widgets().length > 0 && ['join-widget', 'decision-widget'].indexOf($data.widgets()[0].widgetType()) > -1), css: {'drop-target drop-target-side': true, 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(){ var _w = $root.addSideDraggedWidget($data, true); widgetDraggedAdditionalHandler(_w); } }"></div>
|
|
|
+ <div data-bind="visible: $root.isEditing() && enableOozieDropOnSide() && !($data.widgets().length > 0 && ['join-widget', 'decision-widget'].indexOf($data.widgets()[0].widgetType()) > -1), css: {'drop-target drop-target-side': true, 'drop-target-dragging': $root.isDragging(), 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(){ var _w = $root.addSideDraggedWidget($data, true); widgetDraggedAdditionalHandler(_w); } }"></div>
|
|
|
</div>
|
|
|
<div data-bind="css: {'span10': ($parents.length > 2 || columns().length > 0), 'span4': ($parents.length <= 2 && columns().length == 0), 'offset3andhalf': (!$root.isEditing() && $parents.length <= 2 && columns().length == 0), 'readonly': ! $root.isEditing()}">
|
|
|
<div data-bind="visible: columns().length == 0, css: {'row-fluid': true, 'row-container':true, 'is-editing': $root.isEditing},
|
|
|
@@ -308,7 +308,7 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user, "40px") | n,unicode }
|
|
|
</div>
|
|
|
</div>
|
|
|
<div data-bind="css: {'span1': true, 'readonly no-margin': ! $root.isEditing()}, style: {'margin': ! $root.isEditing() ? '0':''}">
|
|
|
- <div data-bind="visible: $root.isEditing() && enableOozieDropOnSide() && !($data.widgets().length > 0 && ['join-widget', 'decision-widget'].indexOf($data.widgets()[0].widgetType()) > -1), css: {'drop-target drop-target-side': true, 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(){ var _w = $root.addSideDraggedWidget($data, false); widgetDraggedAdditionalHandler(_w); } }"></div>
|
|
|
+ <div data-bind="visible: $root.isEditing() && enableOozieDropOnSide() && !($data.widgets().length > 0 && ['join-widget', 'decision-widget'].indexOf($data.widgets()[0].widgetType()) > -1), css: {'drop-target drop-target-side': true, 'drop-target-dragging': $root.isDragging(), 'is-editing': $root.isEditing}, droppable: {enabled: $root.isEditing, onDrop: function(){ var _w = $root.addSideDraggedWidget($data, false); widgetDraggedAdditionalHandler(_w); } }"></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|