• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

gitee-frontend: 码云前端组件库

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

gitee-frontend

开源软件地址:

https://gitee.com/gitee-frontend/gitee-frontend

开源软件介绍:

Gitee::Frontend

gitee-frontend 是一个前端组件库,基于 jQuery 和 Semantic-UI 实现,包含了码云现在用到的一些通用性较强的组件。

giteego npmnpmLICENSEgitee-release-cli

依赖

以下依赖项需要手动引入。

组件

  • FilteredSearchBox: 筛选搜索框,设计参考自 GitLab 的同名组件,改进了条件多选功能,支持在输入框中选择各种筛选条件,与常规的筛选面板相比,页面空间占用小,操作方便。
  • Boards: 看板,以板块+卡片的形式展示任务的状态和进度。

安装

npm install gitee-frontend --save

使用

具体用法请参考示例:https://gitee-frontend.gitee.io/gitee-frontend/

在页面里作为 jQuery 插件使用:

<link rel="stylesheet" href="dist/jquery/jquery.filtered-search-box.css"><link rel="stylesheet" href="dist/jquery/jquery.boards.css"><script src="https://code.jquery.com/jquery-3.4.1.min.js"></script><script src="dist/jquery/jquery.filtered-search-box.min.js"></script><script src="dist/jquery/jquery.boards.min.js"></script><script>var $search = $('#js-search-box');var $boards = $('#js-boards');$search.filteredSearchBox({    // ...});$boards.boards({    // ...});var search = $search.data('filteredsearchbox');var boards = $boards.data('boards')</script>

作为 ES 模块使用:

import '~gitee-frontend/dist/gitee-frontend.css'import { Boards, FilteredSearchBox } from 'gitee-frontend'const boards = new Boards($('#js-boards'), { /* options... */ })const search = new FilteredSearchBox($('#js-search-box'), { /* options... */ })

自定义组件样式:

// 自定义组件的主题色$primary-color: #409eff;@import "~gitee-frontend/src/variables";@import "~gitee-frontend/src/components/filtered-search-box.scss";@import "~gitee-frontend/src/components/boards.scss";// 覆盖组件样式.filtered-search-token {    // ...}

FilteredSearchBox

示例:

var options = {    data: function () {        return {            gender: 'male'        }    },    text: {      loading: '载入中...',      searchHelp: '按回车键或点击此处搜索',      selectOtherFilter: '选择其它筛选条件',      placeholder: '搜索或过滤结果...'    },    filters: [        {            name: '性别',            key: 'gender',            none: {                name: '不限',                value: 'none'            },            items: [                {                    name: '',                    value: 'male'                }, {                    name: '',                    value: 'female'                }            ]        }    ],    callback: function (data) {        console.log('性别是:', data.gender)    }}$('#example-element').filteredSearchBox(options)

配置说明:

  • data: Function(): Object 初始数据,值必须是个函数,其返回值类型必须是 Object
  • history: Object,Boolean 历史记录,如果想禁用用该功能,可设置为 false
    • limit Number 最大数量,默认值为 5,即:最多保存近 5 条搜索历史
    • store Object 存储库对象,默认值为 localStorage,如需自定义存储位置,请提供包含 setItem()getItem()removeItem() 方法的对象。
    • storeKey String 存储键值,默认值为 "GiteeSearchHistory"
  • filters: Array 筛选器列表
    • key: String 筛选器标识,例如:"member_id"
    • name: String 筛选器名称,例如:"成员"
    • type: String 筛选器类型,如需日期范围筛选,请指定为"daterange"
    • icon: String 筛选器图标,例如:"icon user"
    • none: Object “无”条件,例如:{ name: "未关联", value: 0 }
    • tabs: Object tab 配置
      • name: String tab 名称
      • key: String tab key
      • active: String 'active' || '' 初始化激活 tab
    • searchOption: Object 开启远程搜索选项,远程搜索的配置(暂时在 tabs 中使用)
      • key 对应的 tab key 值
      • searchTip 搜索提示
      • fetcher Function(config, onSuccess, onError) 获取器,如需自定义请求方式,可指定它
      • converter Function(data): Object 数据转换器,用于将请求到的数据转换为组件支持的结构
    • config: any 给筛选器的配置参数,当筛选器类型为 "daterange" 时,需要手动指定 DateRangePicker 插件的配置
    • items: Array 选项列表
      • name: String 名称
      • value: String
      • image: String 图片地址,例如:"https://gitee.com/logo-black.svg"
      • icon: String 图标
      • iconStyle: String 图标样式,例如:"background-color: #f00;"
      • color: String 颜色,例如:"#f00"
      • description: String 附加说明
      • keywords String 关键词
    • remote: [Object, Array] 远程选项列表的配置(可选),设置它后,将会请求指定地址来获取选项列表
      • url: String API 地址
      • params: Object, Function(data): Object,请求时携带的参数
      • fetcher: Function(config, onSuccess, onError) 获取器,如需自定义请求方式,可指定它
      • converter: Function(data): Object 数据转换器,用于将请求到的数据转换为组件支持的结构
  • groups: Array 分组
    • keys: Array 组内的筛选器的标识列表,例如:["author_id", "project_id"]
    • name: String 组名
  • text: Object 文本翻译
  • callback: Function(data) 确定搜索时的回调,传入参数是当前的筛选参数
  • debug Boolean 是否开启调试

Boards

用法:

var options = {    // 配置}$('#example-element').boards(options)

配置说明:

  • key: String 用于标识任务所属板块的字段名,默认值为 "state"
  • name: Sting 看板名称,默认值为 "board"。当页面中存在多个看板时建议设置该属性,以避免内容冲突
  • message: Object 提示信息
    • loading: String 加载中的提示
    • stateDisabled: String 当板块不接受某一状态的任务时的提示
    • allComplete: String 板块内所有任务已经加载完的提示
    • btnSetFirst: String 板块前置按钮的提示
    • btnSetLast: String 板块后置按钮的提示
  • className: Object 一些元素的样式类名称
    • iconComment: String 评论图标
    • iconIssue: String 任务图标
    • iconAngleLeft: String 左箭头图标
    • iconAngleRight: String 右箭头图标
    • card: String 卡片
    • avatar: String 头像
    • action: String 操作按钮
    • actions: String 操作按钮组
  • data: Array 板块列表
    • name: String 名称
    • state: String 状态
    • color: String 主题色
  • plugins: Object 插件
  • actions: Function(Config) 板块的操作按钮集的构造函数,返回值类型必须为 Array
  • actions: Array 板块的操作按钮集
    • id: String 标识
    • class: String 样式类名称
    • icon: String 图标
    • title: String 提示文本
    • callback Function(Boards, Board, Event) 在用户点击操作按钮时的回调
  • types: Array 任务类型,当拖动任务卡片时,如果有的板块的状态不属于该任务的类型,则会被禁用
    • id: Number,String 类型标识
    • states: Array 状态列表
      • id: Number,String 标识
  • onLoad: Function(Object, Function) 在开始加载下一页任务列表时的回调
  • onUpdate: Function(Object, any) 在更新任务状态时的回调
  • onRender: Function(Object, JQuery) 在渲染任务卡片时的回调
  • onSorted: Function(Array) 在板块列表被排序后的回调

详细的配置参数可参考 src/components/boards/config.js 文件,以及示例页面中的 js 代码。

开发

# 生成用于示例的相关资源npm run demo# 生成全部用于发行的资源:npm run dist

发布

# 创建 beta 版的发行版npm run release-beta# 创建正式发行版npm run release# 发布测试版到 npm 服务器上npm publish --tag=beta# 发布正式版到 npm 服务器上npm publish

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap