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