Coder Social home page Coder Social logo

dream-num / univer Goto Github PK

View Code? Open in Web Editor NEW
3.0K 47.0 300.0 37.09 MB

Univer is a set of enterprise document and data collaboration solutions, integrating spreadsheets, documents, and slides.

Home Page: https://univer.ai

License: Apache License 2.0

JavaScript 0.22% Shell 0.01% TypeScript 98.00% Less 1.78%
data-table excel office spreadsheet xlsx doc slide powerpoint word appscript

univer's People

Contributors

actions-user avatar dr-univer avatar dushusir avatar eltociear avatar enochgao avatar fmwww avatar gggpound avatar gingerhot avatar gityoog avatar hexf00 avatar howtopick avatar jerry-tanghao avatar jikkai avatar jocs avatar karlsbeard avatar mcdonald755 avatar weird94 avatar wzhudev avatar yangfong avatar yangluoshen avatar ybzky avatar yuhongz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

univer's Issues

Basic UI components & services

Implements basic components and services to improve code reuse and provide consistent behavior across different plugins and platforms.

Deadline Oct 14, 2023

Components

  • Message
  • Button
  • Icon: integrate @univerjs/icon
  • Input @Dushusir
  • InputNumber @Dushusir
  • Container
  • Layout
  • Slider
  • Tooltip

Docs

  • Design Token / Palette
  • Deploying storybook

Services

Services should be platform-agnostic.

  • ThemeService (manages themes and dark mode)
  • IMessageService

Deadline Oct 27, 2023

Components

  • Dropdown
  • CanvasIcon: rename CanvasIcon to BorderLine
  • Menu
    • Item
    • NeoCustomLabel
    • CustomLabel: completely deprecate theCustomLabel component
    • Select
  • ColorPicker
  • ColorPickerCircleButton

Deadline Nov 4, 2023

Components

  • Tabs
  • Dialog: rename Modal to Dialog
  • Notification @Dushusir
  • Confirm

Services

  • INotificationService @Dushusir
  • IDialogService
  • IConfirmService

Deadline Nov 11, 2023

Components

  • CellRange
  • Collapse
  • Separator
  • ResizeDialog
  • SiderModal
  • Avatar
  • Checkbox
    • CheckboxGroup
  • Radio
    • RadioGroup
  • Drag
  • Slot
  • Modal

Not in plan

Components

  • DatePicker move to #378

House keeping

The last step to Univer Architecture Ready milestone is to clean up legacy code.

  • [ ] fix unit tests (we will do it layer when we implement features)
    • setup unit tests environment @jikkai
  • fix type problems & lint problems
  • remove legacy system
  • remove unused files

Formula engine basics

  • integrate to SheetInterceptorService ViewModel
  • integrate to CellEditorService
  • #293 @wzhudev
  • formula-input
    • Temporary style design (supports in-memory text highlighting: formulas, syntax coloring).
    • Formula-selection
    • Shotcut
    • Cross-sheet selection.
  • formula engine
    • Integrate into the DI system.
    • Successfully compiled the let and reduce functions.
    • Integrated with view model
  • sheets-plugin-formula UI @Dushusir
    • Formula real-time search list
    • Formula details pop-up windows data structure
    • Formula details pop-up window UI
    • toolbar formula menu button and dropdown
    • More Functions dialog
    • toolbar formula tab
    • error tootip @Dushusir basic component+cell notification service
    • integrated with worker.
    • Integrated with refservice.
    • The formula supports offset referencing in dropdown filling and copy scenarios. @Dushusir

作为普通开发人员,最需要的在线预览Word和Excel

Univer很惊艳,能把Office三大利器制作成在线编辑这个难度极高。
但是,我们目前遇到的最大问题其实是:在线预览Word和Excel

这个需求极大,或者说这个是刚需,至于在线编辑Word和Excel,反而并不那么大。
因为,更多用户还是喜欢用Office软件本地编辑。

所以,希望能最先开发这个功能:在线预览Word和Excel。

(1)比如 https://officeweb365.com?src=Word_Online_URL
(2)微软的 https://view.officeapps.live.com/op/view.aspx?src=URL
(3)葡萄城的开发组件 https://www.grapecity.com.cn/
都是通过云服务收费,提供在线预览。

你这个如果做成这种最好,通过URL传递远程word或者exel, 然后在线预览。
https://dream-num.github.io/doc?url=http://xx.com/test.docx
https://dream-num.github.io/xls?url=http://xx.com/test.xls

[Bug] pnpm run dev:sheet 运行无法编辑

初始清单

  • 这真的是个问题吗?
  • 我已经在 Github Issues 中搜索过了,但没有找到类似的问题。

受影响的包和版本

dev分支

复现步骤

git clone https://github.com/dream-num/univer.git 
pnpm i
pnpm run dev:sheet

预期行为

可展示、可编辑

实际行为

表格可点击,可更改样式,但不可输入内容

image

运行环境

Chrome

操作系统

macOS

构建工具

esbuild

The bug in undo and redo function.

I found that the framework core records all user commands in the _undoStack, including non editing operations such as selecting cells.

This results in if I modify the table content and frequently switch between selected cells, and then want to undo the modified content, I will need to click the undo button multiple times.

setRangeMerge not working

I have a problem with the setRangeMerge function. When I try to use it I get the following error:

api.js:3114
Uncaught TypeError: Cannot set properties of undefined (setting '9_3')
at Object.setRangeMerge (api.js:3094:41)
at UnisciCelle (prova_LuckySheet.html:45:20)
at HTMLInputElement.onclick (prova_LuckySheet.html:21:98)

This is my code:

<script src="https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/js/plugin.js"></script> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/luckysheet.umd.js "></script>
<title>EasyGrooming</title>

    <input type='button' id='btnUnisci' value='Unisci celle' onclick='UnisciCelle()'>
    <input type='button' id='btnLeggiCella' value='Leggi cella' onclick='LeggiCella()'>
    <div id="luckysheet" style="margin:0px;padding:0px;position:absolute;width:600px;height:70%;"></div>
        
 
<script> 
    $(function () 
    {
        //Configuration item
        var options = {
            container: 'luckysheet' //luckysheet is the container id
        };
        luckysheet.create(options);
    });
    
    function UnisciCelle()
    {
        alert("Here I am!");
        luckysheet.cancelFrozen();
        luckysheet.setRangeMerge("all", "D10:E15");
    }
    function LeggiCella()
    {
        luckysheet.setRowHeight({5:50, 6:80});
        luckysheet.setCellValue(3, 4, "puppa");
        luckysheet.setCellFormat(4, 5, "bd", {borderType: "border-right",style: "1", color: "#ff0000"});
        luckysheet.setRangeShow("D10:E15");
        var sVal = luckysheet.getCellValue(0, 0);
        alert("Valore : " + sVal);
    }
    
</script>
  
</html>

Can somebody help me?
Many thanks

Cell editor (doc) enhancements

  • 中文输入
  • 回车换行
  • update更新输入
  • 上下快捷键支持
  • 排版文字太紧密
  • 鼠标点击空白处体验
  • 光标体验
  • doc重构
  • editor接入sheet
  • ime input bugfix
  • show scroll bar
  • shortcut
  • 网格调试
  • indent不生效
  • 排版问题优化:中英文间隔、
  • 快捷键
  • 复制粘贴
  • 范围选择器开发及优化(抽象及开发优化选择器)
  • 导入
  • editor样式编辑重构
  • editor最后一个段落不能被删除

无法导入大数据

  1. 无法导入大数据,简直就是个笑话
    2.你这开发的,连个demo都不算,怎么通过评审的

Viewing features

  • Scrolling:
    • mouse scrolling
    • focus cell make scrolling
    • scrolling to specific position
  • Zooming:
    • mouse wheel with shortcut key
    • slider bar in sheetbar
  • Use operations to set scrolling positions and zooming scales
  • Freezing
    • context menu

[bug]运行npm run dev:sheet报错

运行npm run dev:sheet报错Uncaught SyntaxError: The requested module '/@fs/F:/univer/packages/core/src/DI/Decorators.ts?t=1689907140611' does not provide an export named 'AsyncDependencyItem'

MVP Features

To the developers who will be responsible for implementing these features, please ensure that:

  • All related commands, mutations, operations, menu items, and models are thoroughly unit tested.
  • The undo-redo functionality is working correctly and without any issues.
  • All design requirements have been met in the implementation.
  • Your pull request (PR) is reviewed by another member of the team before merging.

Milestone 1 - Basic Sheet Features

To reach this milestone, we should diligently implement essential components and fundamental features, with the aim of providing a solid foundation to support future advancements and developments.

Deadline October 21th, 2023

Milestone 2 - Features II

Milestone 3 - Advanced Features & Facade

[Feature Request] import & export

Initial checklist

  • Is this really a problem?
  • I have searched the Github Issues for similar issues, but did not find anything.

Problem

How do I export or save it?

Solution

I can't find the exported code

Alternatives

no

Redesign UI system

Menu Registry

UI Library @jikkai

  • Remove abstract Component and PureComponent
  • Remove Preact and only React, remove abstracting layer at packages/base-ui/src/Framework/Preact.tsx
  • Adopt React Hooks Components

UI Parts

  • ToolbarService unnecessary
  • ContextMenuService unnecessary
  • (optional) FooterService @jikkai
  • (optional) PanelService @jikkai
  • (optional) CanvasPopoverService
  • ShortcutService @wzhudev

Components

[WIP] RFC: Univer Architecture Optimization

Focus on transforming the core. After the structure is stable, plug-ins will be involved

Architecture related tasks

  • core: Circular dependencies
    • The worksheet workbook should be split into model and api, the former only includes snapshot and get related, the latter is set modification @eiji-th
    • undo in CommandManager @eiji-th
    • Styles module changed to worksheet. When transferring, the modification of the worksheet does not depend on the workbook, and the two are decoupled @eiji-th
    • Action Apply @Dushusir
  • ui-plugin-sheets: Circular dependencies @TonyTonyChopper123
  • Using DI: sheets-plugin-numfmt @eiji-th
  • Using DI: sheets-plugin-find @TonyTonyChopper123
  • Move @wendellhu/redi into core package @wzhudev
  • Add a dependency layer in core package @wzhudev
  • Check for typos, like genname @eiji-th
  • Remove unneeded modules like Server @Dushusir
  • Interface Enum Types Const These directories are merged into the Types directory @Dushusir
  • Don't put Univer in Basics @wzhudev
  • Univer and Context are also a problem of holding each other, transform it into an injector on Univer @wzhudev
  • [Optional] Remove index.ts, remove the introduction of ./index
  • [Optional] Remove static methods and propertoes

Editor (for both doc & sheet)

Features

Architecture

  • Migrate on IShortcutService @wzhudev
    • Implement IFocusService
    • Shortcut should check if it should be triggered before gets triggered
  • (later) Migrate on IClipboardService @wzhudev

建议

请问作者 这个现在怎么使用呢,需要下载源码后自己打包,和luckysheet一样?

Design "Facade" layer

Facade expose API to SDK users and it also serves as an interpreter of AppScript.

Selection features

  • Row & col selections @DR-Univer
  • Change selections with pointer @DR-Univer
  • Change selections with keyboard @wzhudev
    • Simple movement with keyboard
    • Move to the next cell that has value
    • Shift-key moving
    • Ctrl-A
    • Tests

Toolchain: CI / monorepo managing tools / Git hooks etc.

  • Adopt a monorepo managing tool (lerna / turbopack / rush)
    • Make sure building toolchain works
    • Incremental building & testing on CI
  • Commit lint
    • Enforce Angular commit style
    • Eslint
  • Migrate CI from CircleCI to GitHub Actions
  • CI
    • Build
    • ESLint
    • Type checks
  • Support package.json exports in plugins
  • Preview link for each PR
  • Provide a vscode task to launch debug windows
  • Adopt typedoc to generate API website (maybe later)
  • Migrate test framework to vitest

Migrate doc to new architecture and use as sheet's cell editor

  • Migrate doc commands & shortcuts to new architecture
  • Remove legacy CommandManager
  • Move UI framework to base-ui
    • Toolbar
    • Context menu
    • Slots for business to add their own components (later)
  • Embed doc as sheet's cell editor (maybe fx editor in the near future)
  • Support running multi-instances of different business type in underlying services (shortcut, menu)
    • IContextService
    • IUndoredoService
    • IShortcutService
    • IMenuService (later)

什么时候有最新的发行版

用了lucksheet2.0感觉功能很好,就是没有导出,用了别人的导出的方法都不太好。在这里蹲一个最新的包

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.