Giter Club home page Giter Club logo

core's Introduction

ZenUml

ZenUml is an online tool generating UML Sequence Diagram from a C-like DSL. This repository is used to track defects, suggestions and feature request.

Here is an example:

sequence diagram example

core's People

Contributors

dependabot-preview[bot] avatar gzcisco720 avatar mrcoder avatar r0uter avatar whimet avatar

Stargazers

 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

core's Issues

Tailwindcss leaking

Tailwindcss leaks to global. When we import the vue-sequence.css, it applies !important to all tailwind css classes which override hosting page's css.

Expand and Collapse on branches, messages, and fragments

Scope

Viewing Only

Out of scope

Persisting toggles

Context

When viewing a Sequence Diagram, sometimes, some details (be it messages, fragments or branches) become distractions. Users may want to temporarily hide it.

Design

The meaning of "hide" is important. We need to carefully design the hidden section so it does not continue distracting users' attention but still providing some indicator (and maybe some information) on what is going on there. A few example's must be provided.

Branches

Messages

Fragments

Related Issues

Feature request: toggle branch of code

Allow comment on (and after) participant

For example

// A user or an application who/which owns a protected resource on the _Resource Server_
"Resource Owner (user)"
OR

Client // The client or third party application requests access to the resources

Should be rendered as:
image

An example with tailwind component:

<div class="p-20">
  <div class="mt-60">
    <div class="group relative inline-block rounded-lg text-[0.8125rem] leading-5 ring-2 ring-indigo-600 duration-300 hover:bg-slate-50 hover:text-red-500">
      <!-- Tooltip text here -->
      <span class="absolute min-w-[200px] rounded-lg -translate-y-full bg-gray-700 px-2 py-1 text-center text-sm text-white group-hover:flex">A user or an application who/which owns a protected resource on the _Resource Server_</span>
      <div class="p-4 font-medium text-slate-900">Resource</div>
    </div>
  </div>
</div>

Allow common keywords such as `const`, `await`, `async`, etc.

const order = await OrderRepository.createOrder()

When users use the above line, const is parsed as a participant; await is parsed as a method. For those very common keywords, we should at least allow them.

We should send them to a TYPE channel or ASYNC_CHANNEL (or METHOD_MODIFIER?).

Bad Error Message in Console

The error message printed in console is not helpful for the below code:

new A() {
    C.m() {    
}

Error: line 1:8 mismatched input '{' expecting

Wrong layout for `Alt` nested in `Creation`

new A(x) {
  if (condition){
    B.method()
  }
}

It also has impact on other fragment components:

  1. Loop
  2. Par
  3. Opt
  4. TCF (try/catch/finally)

It does not have impact on:

  1. simple message (sync and async)
  2. creation
  3. return/reply

Styling messages

// [red]
A.method()

Should render the message in red.

We can do a lot more with this syntax.
tailwind css and shortcuts can be used:

  1. text-red-900
  2. text-red
  3. red
  4. font-bold
  5. bold

DSL Documentation improvement

This is an EPIC. It has a lot of subtasks. Make sure that the documentation is accessible from where it is needed (Tooltip footer is an option)

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.