1

我想添加这个:

@include extjs-tab-panel-ui(
    $ui: '导航',
    $ui-tab-background-color: 透明,
    $ui-tab-background-color-over: #505050,
    $ui-tab-background-color-active: #303030,
    $ui-tab-background-gradient: '无',
    $ui-tab-background-gradient-over: '无',
    $ui-tab-background-gradient-active: '无',
    $ui-tab-color: #acacac,
    $ui-tab-color-over: #c4c4c4,
    $ui-tab-color-active: #fff,
    $ui-tab-glyph-color: #acacac,
    $ui-tab-glyph-color-over: #c4c4c4,
    $ui-tab-glyph-color-active: #fff,
    $ui-tab-glyph-opacity: 1,
    $ui-tab-border-radius: 0,
    $ui-tab-border-width: 0,
    $ui-tab-inner-border-width: 0,
    $ui-tab-padding: 24px,
    $ui-tab-margin: 0,
    $ui-tab-font-size: 15px,
    $ui-tab-font-size-over: 15px,
    $ui-tab-font-size-active: 15px,
    $ui-tab-line-height: 19px,
    $ui-tab-font-weight: 粗体,
    $ui-tab-font-weight-over: 粗体,
    $ui-tab-font-weight-active:粗体,
    $ui-tab-icon-width: 24px,
    $ui-tab-icon-height: 24px,
    $ui-bar-background-color: #404040,
    $ui-bar-background-gradient: '无',
    $ui-bar-padding: 0,
    $ui-strip-height: 0
);

到 ext-theme-crisp 然后编译并获得自定义的 ext-all.css。我怎样才能做到这一点?

4

1 回答 1

3

我在这里找到了有关此主题的详细答案/信息:http ://www.sencha.com/products/extjs/up-and-running/themes-introduction

这是非常有帮助的。

细节: 基本上,我想在本地尝试这个例子:http: //dev.sencha.com/extjs/5.0.0/examples/kitchensink/#side-navigation-tabs

所以,为了完成我的要求,这些是要做的事情:

首先,您必须使用Sencha Cmd生成工作区。在工作区中有带有主题的 ext lib 和您的应用程序 + 可选的主题。-ext选项意味着该命令将在您的工作空间中下载 extjs,这非常有用。


    sencha 生成工作空间-ext my-workspace

然后你必须进入你的工作区并生成你的应用程序。(-sdk ext这意味着 extjs lib 在 ext 目录中。当您构建应用程序或对您的应用程序执行其他操作时,始终使用 ExtJs lib)


    cd 我的工作区
    sencha -sdk ext 生成应用 ThemeDemoApp 主题-演示-应用

我想为我的标签面板添加自定义 ui。让我们在适当的目录中创建该选项卡面板:


    cd 主题演示应用程序
    vim app/view/main/TabPanel.js

我使用 vim,但您可以使用任何文本编辑器来完成。将此代码放入该文件中:

Ext.define('ThemeDemoApp.view.main.TabPanel', {
    扩展:'Ext.tab.Panel',
    xtype: '自定义标签面板',

    ui: '导航',
    tabPosition: '左',
    选项卡旋转:0,

    标签栏:{
        边框:假
    },

    项目: [{
        标题:'标签 1',
        html: '文本内容'
    }, {
        标题:'标签 2',
        html: '文本内容'
    }, {
        标题:'标签 3',
        html: '文本内容'
    }]
});

现在我们必须在 css中定义ui:'navigation' 。为此,我们必须在同一目录中创建TabPanel.scss文件,因为类相对于sass/src目录中的 app ( view/main ) :


mkdir sass/src/视图
mkdir sass/src/view/main
vim sass/src/view/main/TabPanel.scss

并使用任何文本编辑器(我使用 vim)将 saas 脚本放入该文件中:

@include extjs-tab-panel-ui(
    $ui: '导航',
    $ui-tab-background-color: 透明,
    $ui-tab-background-color-over: #505050,
    $ui-tab-background-color-active: #303030,
    $ui-tab-background-gradient: '无',
    $ui-tab-background-gradient-over: '无',
    $ui-tab-background-gradient-active: '无',
    $ui-tab-color: #acacac,
    $ui-tab-color-over: #c4c4c4,
    $ui-tab-color-active: #fff,
    $ui-tab-glyph-color: #acacac,
    $ui-tab-glyph-color-over: #c4c4c4,
    $ui-tab-glyph-color-active: #fff,
    $ui-tab-glyph-opacity: 1,
    $ui-tab-border-radius: 0,
    $ui-tab-border-width: 0,
    $ui-tab-inner-border-width: 0,
    $ui-tab-padding: 24px,
    $ui-tab-margin: 0,
    $ui-tab-font-size: 15px,
    $ui-tab-font-size-over: 15px,
    $ui-tab-font-size-active: 15px,
    $ui-tab-line-height: 19px,
    $ui-tab-font-weight: 粗体,
    $ui-tab-font-weight-over: 粗体,
    $ui-tab-font-weight-active:粗体,
    $ui-tab-icon-width: 24px,
    $ui-tab-icon-height: 24px,
    $ui-bar-background-color: #404040,
    $ui-bar-background-gradient: '无',
    $ui-bar-padding: 0,
    $ui-strip-height: 0
);

让我们使用我们的自定义选项卡面板,而不是app/view/main/Main.js中使用的默认选项卡面板。因此,该文件的代码必须如下所示:

Ext.define('ThemeDemoApp.view.main.Main', {
    扩展:'Ext.container.Container',
    需要:['ThemeDemoApp.view.main.TabPanel'],
    xtype:'应用程序主',

    控制器:'主要',
    视图模型:{
        类型:'主要'
    },

    布局: {
        类型:'边框'
    },

    项目: [{
        xtype:'面板',
        绑定:{
            标题:'{name}'
        },
        地区:“西部”,
        html: '<ul><li>这个区域通常用于导航,例如使用“树”组件。</li></ul>',
        宽度:250,
        分裂:真的,
        酒吧:[{
            文本:'按钮',
            处理程序:'onClickButton'
        }]
    },{
        区域:'中心',
        xtype: '自定义标签面板'
    }]
});

现在我们必须构建应用程序。(将我们的新组件放入requires很重要,否则 sencha cmd 将忽略我们到目前为止所做的事情 :) )


sencha 应用程序构建

并在本地运行应用程序:


煎茶应用手表

最后打开这个看看结果:Demo App

于 2014-06-15T18:11:42.447 回答