addRow((new Row()) ->addColumn((new Column())->setClassAll('c-40 ')->addRow((new Row()))) ->addColumn( (new Column())->setClassAll('c-20 ') ->addRow((new Row()) ->addColumn(((new Text()) ->setName(self::$NAME) ->setValue($C[self::$NAME]) ->setClassAll('c-100') ->setLabel($c = V::get(Vars::$NAME)) ->setPlaceholder($c) )) ->addColumn(((new Switcher()) ->setName(self::$VIS) ->setClassAll('c-100 green_switcher') //->setPlaceholder($c = V::get(Vars::$VIS)) ->setPlaceholder($c = V::get(Vars::$VIS)) //->setLabel('') ->setChecked($isEdit ? boolval($C[self::$VIS]) : true) )) ->addColumn(((new Text()) ->setName(self::$CODE) ->setValue($C[self::$CODE]) ->setClassAll('c-100') ->setLabel($c = V::get(Vars::$CODE)) ->setPlaceholder($c) )) )->addRow((new Row()) ->addColumn(((new InputSave())->setClassAll('c-100')->setName('save'))) ) )) ; } static function columnInfo() : array { return [ new C([ C::VAR_NAME =>&self::$ID, C::TYPE =>eColumnType::INT, C::AUTO_INCREMENT =>true, C::PRIMARY =>true, C::DEFAULT =>0, C::HIDDEN =>true, C::TH =>V::get(Vars::$ID), ]), new C([ C::VAR_NAME => &self::$CODE, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 15, C::TH => V::get(Vars::$CODE), C::FILTER_TYPE => eFilterType::TEXT, ]), new C([ C::VAR_NAME => &self::$NAME, C::TYPE => eColumnType::VARCHAR, C::LENGTH => 1023, C::TH => V::get(Vars::$NAME), C::FILTER_TYPE => eFilterType::TEXT, ]), new C([ C::VAR_NAME => &self::$VIS, C::TYPE => eColumnType::TINYINT, C::TH => V::get(Vars::$VIS), C::FILTER_TYPE => eFilterType::BOOLEAN, //C::DEFAULT => 1, C::COL_DEFAULT => 1, C::FUNC_VALUE_DATA => function($v){ return Merakomis::fbool($v[self::$VIS]); } ]), new C([ C::VAR_NAME => &self::$PORTAL, C::TYPE => eColumnType::INT, C::DEFAULT => intval(\Site::$portal_id), c::HIDDEN => true, ]), new C([ C::VAR_NAME => &self::$ACCOUNT, C::TYPE => eColumnType::INT, C::DEFAULT => intval(\Site::$owner_id), //C::TH => V::get(Vars::$ACCOUNT), c::HIDDEN => true, ]), ]; } } new Absence();