public function publish($assetFolder)
    {
        $widgetSourceAssetPath = dirname(Utility::getClassPath($this->widget))
        ."/".$assetFolder;
        
        if (!is_dir($widgetSourceAssetPath)) {
            throw new \Exception("Widget's assets folder is not existed");
        }
        $widgetSourceAssetPath = Utility::standardizePathSeparator(
            realpath($widgetSourceAssetPath)
        );
        $this->assetUrl = $this->widget->getReport()->getResourceManager()->publishAssetFolder($widgetSourceAssetPath, $this->widget->version());
    }