getState

возвращает объект реактивного состояния File Manager

object getState();

Returns

objectобъект состояния

Example

// возвращает текущее состояние File manager
const state = $$("fm").getState();
 
// переключает виджет в режим "cards"
state.mode = "cards";

Related samples

Details

Возвращаемый объект хранит следующие свойства и методы:

{
  clipboard: null,
  mode: "grid",
  path: "/",
  search: "",
  selectedItem: []
}

Свойства

  • mode (string) - режим отображения текущей вкладки ("list" (по умолчанию), "cards" and "double");
  • path (string) - путь к текущей/первоначальной директории;
  • selectedItem (array) - хранит массив выбранных элементов;
  • search (string) - хранит значение (текст) из поисковой строки;
  • clipboard (string) - хранит данные буфера обмена { files:["/cat.png"], mode:"copy" }

Методы

  • $observe (function) - отслеживает изменения в текущем состоянии File Manager. Принимает два параметра:
    • prop (string) - реактивное свойство, которое изменяется
    • handler (function) - функция для выполнения, когда изменения произошли. Принимает только один аргумент:
      • value (any) - текущее значение реактивного свойства. Тип значения (строка, массив, и т.д.) зависит от реактивного свойства.
  • batch (function)- позволяет изменять несколько свойств сразу. Принимает один параметр:
    • props (object) - объект, который содержит пары "имя свойства: значение".

Например, отслеживать выделенные элементы можно следующим образом:

state.$observe("selectedItem", v =>
   $$("files").setValue(v.map(a => a.id).join(", "))
);

Или изменить несколько свойств с помощью batch:

// переключает виджет в режим"cards" и очищает поле поиска
state.$batch({
   mode:"cards", search:""
});
Наверх