Giter Site home page Giter Site logo

framevuerk / framevuerk Goto Github PK

View Code? Open in Web Editor NEW
266.0 6.0 18.0 8.01 MB

Fast, Responsive, Multi Language, Both Direction Support and Configurable UI Framework based on Vue.js.

Home Page: http://framevuerk.com/

License: MIT License

JavaScript 10.02% Shell 0.01% Vue 82.56% HTML 0.26% SCSS 7.14%
vue framework rtl ltr responsive ui ux multi-language toolkit configurable

framevuerk's Introduction

Framevuerk

Fast, Responsive, Without Dependencies, Both Direction Support and Configurable UI Framework based on Vue.js.


Setup

First of all, you should install Framevuerk and of course Vue from terminal and just follow the example and use it!

npm i vue
npm i framevuerk

And put these on your main script: (Also commonjs syntax and require is available.)

// Vue package
import Vue from 'vue'
// Framevuerk main script
import Framevuerk from 'framevuerk/dist/framevuerk.js'
// Framevuerk main style
// Also you can include this via <link rel="stylesheet"> in your template
import 'framevuerk/dist/framevuerk.css'
// Activate
Vue.use(Framevuerk)
// Initializing App
new Vue({
    el: '#app'
})

Finally you need to create your template just like this.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>My Awesome App</title>
    <link rel="stylesheet" href="path/to/your/app.css">
</head>
<body>
    <fvMain id="app">
        <!-- Your App goes here -->
    </fvMain>
  <script src="path/to/your/app.js"></script>
</body>
</html>

Customize

Framevuerk can have different language, direction, and colors based on the user's taste. To setup your custom version, you should install framevuerk-builder package.

npm i framevuerk-builder -D

And your config or list of configs array in .json file. (Also you can deliver same content via .js file and module.exports format)

{
    "config-name": "foobar",
    "direction": "ltr",
    "primary-color": "#41b883",
    "secondary-color": "#35485d",
    "danger-color": "#dd4b39",
    "warning-color": "#ef8f00",
    "info-color": "#14b0cf",
    "bg-color": "#fff",
    "header-bg-color": "#35485d",
    "sidebar-bg-color": "#3a3a3a",
    "footer-bg-color": "#3a3a3a",
    "padding": "1em",
    "transition-speed": "0.35s",
    "border-radius": "2px",
    "shadow-size": "1px"
}

Finally you can build framevuerk by this cli command. Don't forgot to put your builder command to your build or postinstall scripts. Note that use ./node_modules/.bin/framevuerk-builder instead of framevuerk-builder if you run this command manually in terminal

framevuerk-builder -d "path/to/framevuerk/source/dir" -o "path/to/receive/builded/files" -c "path/to/config/file"

# --dir, -d         path to framevuerk source folder. default: "./node_modules/framevuerk"
# --output-dir, -o  path to output files. default: "./node_modules/framevuerk/dist"
# --config, -c      path to config file. used default config if not set.

And output files goes to --output-dir directory:

  • framevuerk-foobar.js
  • framevuerk-foobar.min.js
  • framevuerk-foobar.css
  • framevuerk-foobar.min.css

You are now config your app to use Framevuerk! Let's go to use our components: Full Documention and Demo

Contributing

Please read CONTRIBUTING.md for details.

framevuerk's People

Contributors

174n avatar aientech avatar farskid avatar jmosawy avatar kian-esmaeilpour avatar nainemom 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

framevuerk's Issues

datepicker ux

Allow user to select datepicker parts by typing or click from list.

build failed on windows machine

command

npm run dev

totally failed on windows machine and

npm run build

return ok, but does not create css files in dist directory

Select component error

The select component has an error when it is required and we click on the clear button (x). It is because of the following line:

return !!formattedValue.toString().trim();

Error is:

Error in callback for watcher "value": "TypeError: Cannot read property 'toString' of null"

Validation issue

validation(newValue) {

In this line, you watched the validation that it is a function and then you called valueChangesHandler with the newValue of the watch. the newValue is a function and It causes errors. It seems you should use this.value instead of the newValue.

spliting builder and docs

i want to split building stuff (webpack, babel, etc) to another package named framevuerk-builder and also documents to another repository.

framevuerk (core)

just core of framevuerk without any custom stuff.

framevuerk-builder

normal users can install framevuerk normaly and dont worry about why webpack stuff installed on their project. just if they want to create custom theme and locale, they can install framevuerk-builder in devDependency of project and re-create framevuerk by cli command.

framevuerk-docs

i want to split docs stuff to another package. but there is development problem. it's hard to change core package and live testing on docs page.

how do you think about it?

fvSelect

version 2.0.7
fvSelect with allow-insert prop doesn't work if user click by mouse on the new item.

fv-dialog z-index

in ios device in both chrome and safari browser fv-dialog rendered incorrectly.

enter key

when i try to add a new item to list in fvSelect using enter key, an empty item next that item will added to list.

Vue3 Support?

Hi,
i could not find any information about it anywhere, so -
is this ready to be used with Vue3? The peer dependencies say no, but i am not sure if that is true.
It looks really nice, but i am using Vue3 (3.0.0-beta12 to be precise) at the moment, and really can not downgrade.

fv-main problem in firefox

when putting fv-main inside another fv-main, this will overflow problem in FF.
solution:
max-height: 100%;
overflow: hidden;

Suggestion: Pass settings in initialization instead of using a separate builder package

Hey Amir, thanks for the great library.

Why don't you pass settings at initialization time and let webpack do the build process instead of building framevuerk? Something like this:

import Framevuerk from 'framevuerk/dist/framevuerk.js'

Vue.use(new Framevuerk({
    "config-name": "foobar",
    "direction": "ltr",
    "primary-color": "#41b883",
    "secondary-color": "#35485d",
    "danger-color": "#dd4b39",
    "warning-color": "#ef8f00",
    "info-color": "#14b0cf",
    "bg-color": "#fff",
    "header-bg-color": "#35485d",
    "sidebar-bg-color": "#3a3a3a",
    "footer-bg-color": "#3a3a3a",
    "padding : "1em",
    "transition-speed": "0.35s",
    "border-radius": "2px",
    "shadow-size": "1px"
}))

This will make customization and hot reloading much easier.

why pug?

This is a great library and I really like the idea, but why is the template written in pug. Many people don't use it and when I tried to see the source for this library, I couldn't understand it.

it'd be better to provide the html version as other vue library are published

Using JSDoc as

Hi,

did you considered using JSDoc to document using annotation?
I think I could be a good idea to use that... I couldn't find it in package.json

docs folder names

i think it's better idea to rename public directory to docs (that most of applications did this) and doc directory to docs-src

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.