fix element line
This commit is contained in:
parent
c4f0305f9b
commit
d97cdfbc7a
|
@ -162,7 +162,7 @@ function createVisualConsole(
|
|||
var item = e.item || {};
|
||||
var meta = item.meta || {};
|
||||
|
||||
if (meta.editMode && !meta.isUpdating) {
|
||||
if ((meta.editMode || meta.lineMode) && !meta.isUpdating) {
|
||||
createOrUpdateVisualConsoleItem(
|
||||
visualConsole,
|
||||
asyncTaskManager,
|
||||
|
@ -1344,7 +1344,7 @@ function cleanupDOM() {
|
|||
$("#modalVCItemForm").empty();
|
||||
}
|
||||
/* Defined in operations/visual_console/view.php */
|
||||
/* global handleFormResponse,$,load_modal */
|
||||
/* global $, load_modal */
|
||||
function createOrUpdateVisualConsoleItem(
|
||||
visualConsole,
|
||||
asyncTaskManager,
|
||||
|
@ -1373,7 +1373,7 @@ function createOrUpdateVisualConsoleItem(
|
|||
form: ["itemForm-label", "itemForm-general", "itemForm-specific"],
|
||||
url: baseUrl + "ajax.php",
|
||||
ajax_callback: function(response) {
|
||||
var data = JSON.parse(response); //handleFormResponse(response);
|
||||
var data = JSON.parse(response);
|
||||
|
||||
if (data == false) {
|
||||
// Error.
|
||||
|
|
|
@ -17,7 +17,7 @@ $method = get_parameter('method');
|
|||
if ($method) {
|
||||
$viewer = new Viewer();
|
||||
try {
|
||||
if (method_exists($viewer, $method)) {
|
||||
if (method_exists($viewer, $method) === true) {
|
||||
echo $viewer->{$method}();
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
|
|
|
@ -209,7 +209,7 @@ final class Group extends Item
|
|||
$agentsOk = \agents_get_agents(
|
||||
[
|
||||
'id_grupo' => $groupId,
|
||||
'status' => AGENT_STATUS_OK,
|
||||
'status' => AGENT_STATUS_NORMAL,
|
||||
],
|
||||
['COUNT(*) AS total'],
|
||||
'AR',
|
||||
|
|
|
@ -373,41 +373,45 @@ final class Line extends Model
|
|||
*
|
||||
* @param array $data Unknown input data structure.
|
||||
*
|
||||
* @return boolean The modeled element data structure stored into the DB.
|
||||
* @return integer The modeled element data structure stored into the DB.
|
||||
*
|
||||
* @overrides Model::save.
|
||||
*/
|
||||
public function save(array $data=[]): bool
|
||||
public function save(array $data=[]): int
|
||||
{
|
||||
$data_model = $this->encode($this->toArray());
|
||||
$newData = $this->encode($data);
|
||||
|
||||
$save = \array_merge($data_model, $newData);
|
||||
|
||||
if (!empty($save)) {
|
||||
if (empty($save['id'])) {
|
||||
if (empty($data) === false) {
|
||||
if (empty($data['id']) === true) {
|
||||
// Insert.
|
||||
$save = static::encode($data);
|
||||
$result = \db_process_sql_insert('tlayout_data', $save);
|
||||
if ($result !== false) {
|
||||
$item = static::fromDB(['id' => $result]);
|
||||
$item->setData($item->toArray());
|
||||
}
|
||||
} else {
|
||||
// Update.
|
||||
$result = \db_process_sql_update('tlayout_data', $save, ['id' => $save['id']]);
|
||||
$dataModelEncode = $this->encode($this->toArray());
|
||||
$dataEncode = $this->encode($data);
|
||||
|
||||
$save = array_merge($dataModelEncode, $dataEncode);
|
||||
|
||||
$result = \db_process_sql_update(
|
||||
'tlayout_data',
|
||||
$save,
|
||||
['id' => $save['id']]
|
||||
);
|
||||
// Invalidate the item's cache.
|
||||
if ($result !== false && $result > 0) {
|
||||
$item = static::fromDB(['id' => $save['id']]);
|
||||
// Update the model.
|
||||
if (empty($item) === false) {
|
||||
$this->setData($item->toArray());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Update the model.
|
||||
if ($result) {
|
||||
if (empty($save['id'])) {
|
||||
$item = static::fromDB(['id' => $result]);
|
||||
} else {
|
||||
$item = static::fromDB(['id' => $save['id']]);
|
||||
}
|
||||
|
||||
if (!empty($item)) {
|
||||
$this->setData($item->toArray());
|
||||
}
|
||||
}
|
||||
|
||||
return (bool) $result;
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
|
@ -442,22 +446,43 @@ final class Line extends Model
|
|||
{
|
||||
$inputs = [];
|
||||
|
||||
switch ($values['tabSelected']) {
|
||||
// Position.
|
||||
case 'label':
|
||||
// Label.
|
||||
// TODO tinyMCE.
|
||||
$inputs[] = [
|
||||
'label' => __('Label'),
|
||||
'id' => 'div-label',
|
||||
'arguments' => [
|
||||
'name' => 'label',
|
||||
'type' => 'text',
|
||||
'value' => $values['label'],
|
||||
'return' => true,
|
||||
],
|
||||
];
|
||||
break;
|
||||
if ($values['tabSelected'] === 'specific') {
|
||||
// Width.
|
||||
if ($values['borderWidth'] < 1) {
|
||||
$values['borderWidth'] = 1;
|
||||
}
|
||||
|
||||
$inputs[] = [
|
||||
'label' => __('Width'),
|
||||
'arguments' => [
|
||||
'name' => 'borderWidth',
|
||||
'type' => 'number',
|
||||
'value' => $values['borderWidth'],
|
||||
'return' => true,
|
||||
],
|
||||
];
|
||||
|
||||
// Color.
|
||||
$inputs[] = [
|
||||
'label' => __('Color'),
|
||||
'arguments' => [
|
||||
'name' => 'borderColor',
|
||||
'type' => 'color',
|
||||
'value' => $values['borderColor'],
|
||||
'return' => true,
|
||||
],
|
||||
];
|
||||
|
||||
// Show on top.
|
||||
$inputs[] = [
|
||||
'label' => __('Show on top'),
|
||||
'arguments' => [
|
||||
'name' => 'isOnTop',
|
||||
'id' => 'isOnTop',
|
||||
'type' => 'switch',
|
||||
'value' => $values['isOnTop'],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
return $inputs;
|
||||
|
|
|
@ -92,6 +92,15 @@ class View extends \HTML
|
|||
'img' => 'pencil.png',
|
||||
],
|
||||
];
|
||||
} else if ($type === LINE_ITEM) {
|
||||
$tabs = [
|
||||
[
|
||||
'name' => __('Specific settings'),
|
||||
'id' => 'tab-specific',
|
||||
'href' => $url.'&tabSelected=specific',
|
||||
'img' => 'event_responses_col.png',
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
$result = html_print_tabs($tabs);
|
||||
|
@ -333,7 +342,9 @@ class View extends \HTML
|
|||
break;
|
||||
|
||||
case LINE_ITEM:
|
||||
// Nothing. no specific items.
|
||||
$data['borderColor'] = \get_parameter('borderColor');
|
||||
$data['borderWidth'] = \get_parameter('borderWidth');
|
||||
$data['isOnTop'] = \get_parameter_switch('isOnTop');
|
||||
break;
|
||||
|
||||
case AUTO_SLA_GRAPH:
|
||||
|
|
|
@ -422,6 +422,9 @@ export default class VisualConsole {
|
|||
itemInstance.onLineMovementFinished(
|
||||
context.handleLineElementMovementFinished
|
||||
);
|
||||
// TODO:Continue
|
||||
//itemInstance.onClick(context.handleElementClick);
|
||||
itemInstance.onDblClick(context.handleElementDblClick);
|
||||
} else {
|
||||
itemInstance.onClick(context.handleElementClick);
|
||||
itemInstance.onDblClick(context.handleElementDblClick);
|
||||
|
|
|
@ -260,7 +260,8 @@ export default class Line extends Item<LineProps> {
|
|||
this.moveMode = newMetadata.editMode;
|
||||
super.setMeta({
|
||||
...newMetadata,
|
||||
editMode: false
|
||||
editMode: false,
|
||||
lineMode: true
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -409,6 +410,15 @@ export default class Line extends Item<LineProps> {
|
|||
: `-${this.circleRadius}px`;
|
||||
|
||||
if (!this.isMoving) {
|
||||
// Remove circles.
|
||||
const circles = element.getElementsByClassName(
|
||||
"visual-console-item-line-circle"
|
||||
);
|
||||
while (circles.length > 0) {
|
||||
const circle = circles.item(0);
|
||||
if (circle) circle.remove();
|
||||
}
|
||||
|
||||
element.appendChild(startCircle);
|
||||
element.appendChild(endCircle);
|
||||
|
||||
|
|
|
@ -278,7 +278,8 @@ export function itemMetaDecoder(data: UnknownObject): ItemMeta | never {
|
|||
isUpdating: false,
|
||||
isBeingMoved: false,
|
||||
isBeingResized: false,
|
||||
isSelected: false
|
||||
isSelected: false,
|
||||
lineMode: false
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -135,7 +135,8 @@ describe("itemMetaDecoder function", () => {
|
|||
editMode: false,
|
||||
isBeingMoved: false,
|
||||
isBeingResized: false,
|
||||
isSelected: false
|
||||
isSelected: false,
|
||||
lineMode: false
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -155,7 +156,8 @@ describe("itemMetaDecoder function", () => {
|
|||
editMode: true,
|
||||
isBeingMoved: false,
|
||||
isBeingResized: false,
|
||||
isSelected: false
|
||||
isSelected: false,
|
||||
lineMode: false
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -59,4 +59,5 @@ export interface ItemMeta {
|
|||
isBeingMoved: boolean;
|
||||
isBeingResized: boolean;
|
||||
editMode: boolean;
|
||||
lineMode: boolean;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue