26 private $serializableProperties = [
114 self::ELEMENT_PARENT_NAME => $parentName,
115 self::ELEMENT_OFFSET_OR_SIBLING => $offsetOrSibling,
116 self::ELEMENT_IS_AFTER => $isAfter
127 return empty($this->elementsToSort);
170 return array_keys(array_intersect_key($this->scheduledElements, $this->scheduledMoves));
180 return array_keys(array_intersect_key(
181 $this->scheduledElements,
182 array_merge($this->scheduledRemoves, $this->brokenParent)
215 return empty($this->scheduledElements);
327 return empty($this->scheduledStructure);
474 $this->scheduledPaths = [];
485 $this->scheduledElements = [];
486 $this->scheduledStructure = [];
498 foreach ($this->serializableProperties as $property) {
499 $result[$property] = $this->{$property};
514 foreach ($this->serializableProperties as $property) {
515 $this->{$property} = $this->getArrayValueByKey($property,
$data);
526 private function getArrayValueByKey($key, array $array)
528 return $array[$key] ?? [];
setElement($elementName, array $data)
unsetElement($elementName)
setElementToSortList($parentName, $elementName, $offsetOrSibling, $isAfter=true)
setStructureElementData($elementName, array $data)
unsetElementFromBrokenParentList($elementName)
setStructureElement($elementName, array $data)
unsetPathElement($elementName)
getElement($elementName, $default=[])
unsetElementToSort($elementName)
setElementToBrokenParentList($elementName)
getStructureElement($elementName, $default=null)
flushScheduledStructure()
unsetElementFromListToRemove($elementName)
getStructureElementData($elementName, $default=null)
__construct(array $data=[])
getElementToMove($elementName, $default=null)
setElementToRemoveList($elementName)
const ELEMENT_OFFSET_OR_SIBLING
setElementToMove($elementName, array $data)
unsetStructureElement($elementName)
populateWithArray(array $data)
getElementToSort($elementName, array $default=[])
hasStructureElement($elementName)
getPath($elementName, $default=null)
const ELEMENT_PARENT_NAME
setPathElement($elementName, $data)