Code Monkey home page Code Monkey logo

m-dash's Introduction

version

MadeWithVueJs.com shield

Formerly known by Vuetify Admin Dashboard
  • logout button is in user menu in app bar

Preview

M-Dashboard is a simple (Hopefully not ugly) productivity Dashboard to monitor tasks/work, it can also be used as an crud admin panel. Using the Dashboard is pretty simple but requires basic knowledge of Javascript, and basic knowledge on libraries listed in the docs

Table of Contents

Dashboard Features

Link to Features

Crud Table

Few things on the roadmap

  • user roles
  • user page api's
  • more prepackaged components
  • pro version(if I get to it)
  • this will always be free
  • more features and support
  • dynamic inline edit
  • Cool new login screen

Getting Started

  1. Install Nodejs from Nodejs Official Page
  2. Install @Vue/cli 4 globally
  3. clone repo
  4. & navigate to the folder you cloned the repo to
  5. Open your terminal(CMD/Power Shell etc) to project root( or use Shift + right-click in the folder on windows)
  6. at project root (/M-Dashboard) run one of the following commands in the terminal depending on which you use:
  • npm install, or yarn installif you use Yarn
  1. Run npm run dev --open or yarn serve --open to start a local development server or use Vue UI
  2. A new tab will be opened in your browser or click the url in the terminal
  3. You can use Reqres to test logging in/out, or for data tables api(its already hooked up)

After installing the dependencies you can also run additional tasks such as these fun ones:

  • npm/yarn run build to build your app for production
  • npm/yarn run lint to run linting.

Current Bugs

Checkout the Issues tab to see if any have been reported or closed.

Reporting Issues

  1. Make sure that you are using the latest version of the M-Dashboard and installed corerct versions of the dependcies with NPM/YARN.
  2. Provide reproducible steps on how to recreate the issue, this can speed things up & will help a lot.
  3. Some issues may be browser specific, so specifying in what browser you encountered the issue might help.
  4. Provide screenshots if you are trying to point out an visual bug

You can send us a tweet if you need faster minorish assistance, otherwise create an issue on here.

m-dash's People

Contributors

anselal avatar bleetoteelb avatar clintoxx avatar dasari810 avatar dependabot[bot] avatar mikr13 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

m-dash's Issues

cant build

[email protected] serve C:\vuetify-admin-dashboard-master
vue-cli-service serve

INFO Starting development server...
98% after emitting CopyPlugin

ERROR Failed to compile with 1 errors 17:48:23
error in ./src/router/paths.js

Module build failed (from ./node_modules/eslint-loader/index.js):
TypeError: Cannot read property 'range' of null
at SourceCode.getTokenBefore (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\token-store\index.js:303:18)
at checkSpacingBefore (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\rules\template-curly-spacing.js:52:42)
at TemplateElement (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\rules\template-curly-spacing.js:117:17)
at listeners.(anonymous function).forEach.listener (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\safe-emitter.js:47:58)
at Array.forEach ()
at Object.emit (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\safe-emitter.js:47:38)
at NodeEventGenerator.applySelector (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\node-event-generator.js:251:26)
at NodeEventGenerator.applySelectors (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\node-event-generator.js:280:22)
at NodeEventGenerator.enterNode (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\node-event-generator.js:294:14)
at CodePathAnalyzer.enterNode (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\code-path-analysis\code-path-analyzer.js:608:23)
at Traverser.enter [as _enter] (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\linter.js:865:28)
at Traverser._traverse (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\traverser.js:132:14)
at Traverser._traverse (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\traverser.js:144:34)
at Traverser._traverse (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\traverser.js:147:30)
at Traverser._traverse (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\traverser.js:147:30)
at Traverser._traverse (C:\vuetify-admin-dashboard-master\node_modules\eslint\lib\util\traverser.js:147:30)

@ ./src/router/index.js 15:0-28 21:10-15

Deprecation Warning: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.

While running in serve or build mode warnings like this creates enormous noise in CLI

Deprecation Warning: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.

Recommendation: math.div($grid-gutter, 3) or calc($grid-gutter / 3)

More info and automated migrator: https://sass-lang.com/d/slash-div

   ╷
64 │     'md': $grid-gutter / 3,
   │           ^^^^^^^^^^^^^^^^
   ╵
    node_modules/vuetify/src/styles/settings/_variables.scss 64:11    @import
    node_modules/vuetify/src/styles/settings/_index.sass 1:9          @import
    node_modules/vuetify/src/styles/styles.sass 2:9                   @import
    node_modules/vuetify/src/components/VOverlay/_variables.scss 1:9  @import
    node_modules/vuetify/src/components/VOverlay/VOverlay.sass 1:9    root stylesheet

Warning: 1 repetitive deprecation warnings omitted.

I've tried to upgrade vuetify to 2.6.x, add --silent flag but that doesn't solve the problem.

Responsive Issues?

Really want this to be good ... I too am fed up of seeing templates "supporting" Vue to only then look into the code and see jQuery. Forked off and wanted to implement mini-variant and while it works I was finding that the part of the menu text was visible when hidden and the main content didn't line up fully.

I am going to try and resolve that but in using responsive emulator I came across the below ... do I have something wrong in the installation do you think? This is using Chrome.

image

Alert menu wrong position

Windows 10
Firefox 68.0.1

when clicking on the alert bell icon, the alert menu appears off-screen to the right instead of below the icon

___2019-08-19_10-40-43

Potential Security Issue

👋 Hello, we've received a report for a potential critical severity security issue in your repository.

Next Steps

1️⃣ Visit https://huntr.dev/bounties/1-other-ClintOxx/vuetify-admin-dashboard for more advisory information.

2️⃣ Sign-up to validate or speak to the researcher for more assistance.

3️⃣ Propose a patch or outsource it to our community.


Confused or need more help?

  • Join us on our Discord and a member of our team will be happy to help! 🤗

  • Speak to a member of our team: @JamieSlome


This issue was automatically generated by huntr.dev - a bug bounty board for securing open source code.

Bearer token key naming inconsistent for local storage

The current login/logout actions in the Vuex store, that call the Axios REST API, use browser Local Storage to set/remove a Bearer Token. using the secure-ls package.

The key-name on set() and remove() for the token value is inconsistent, for example on login the name is tokenKey, but on logout the name is token. The result is that the token remains in Local Storage and the Dashboard can be accessed after logout.

There are several places in actions.js where ls.remove('token') is used. Change all these occurrences to ls.remove('tokenKey').

npm build and run errors

Thanks @ClintOxx for this awesome project! Hopefully we can all help here to maintain.

Getting various build and run errors due to outdated and deprecated package versions.
Resolved locally, will submit PR. Context:

  • M-Dash version on master as on nov 29, 2021
  • Mac OSX
  • node v16.13.0, npm 8.1.0, @vue/cli 4.5.15, installed with Homebrew and nvm

First try with plain npm install

$ npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: [email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/eslint
npm ERR!   dev eslint@"7.0.0" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer eslint@">= 1.6.0 < 7.0.0" from @vue/[email protected]
npm ERR! node_modules/@vue/cli-plugin-eslint
npm ERR!   dev @vue/cli-plugin-eslint@"^4.5.13" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! See [MY_HOMEDIR]/.npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     [MY_HOMEDIR]/.npm/_logs/2021-11-28T15_41_43_606Z-debug.log

Next tried install with npm install --legacy-peer-deps to suppress dependency errors. Output:

$ npm install --legacy-peer-deps
npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: This loader has been deprecated. Please use eslint-webpack-plugin
npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated [email protected]: Sorry but vue-analytics is no longer maintained. I would suggest you switch to vue-gtag, with love, the guy who made the package.
npm WARN deprecated [email protected]: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated [email protected]: 3.x is no longer supported
npm WARN deprecated [email protected]: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
npm WARN deprecated @hapi/[email protected]: Moved to 'npm install @sideway/address'
npm WARN deprecated [email protected]: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/[email protected]: Switch to 'npm install joi'
npm WARN deprecated [email protected]: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm WARN deprecated [email protected]: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
npm ERR! code 1
npm ERR! path [MY_HOMEDIR]/............./node_modules/node-sass
npm ERR! command failed
npm ERR! command sh -c node scripts/build.js
npm ERR! Building: [MY_HOMEDIR]/.nvm/versions/node/v16.13.0/bin/node [MY_HOMEDIR]/............./node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli   '[MY_HOMEDIR]/.nvm/versions/node/v16.13.0/bin/node',
npm ERR! gyp verb cli   '[MY_HOMEDIR]/............./node_modules/node-gyp/bin/node-gyp.js',
npm ERR! gyp verb cli   'rebuild',
npm ERR! gyp verb cli   '--verbose',
npm ERR! gyp verb cli   '--libsass_ext=',
npm ERR! gyp verb cli   '--libsass_cflags=',
npm ERR! gyp verb cli   '--libsass_ldflags=',
npm ERR! gyp verb cli   '--libsass_library='
npm ERR! gyp verb cli ]
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | darwin | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` succeeded python2 [MY_HOMEDIR]/.pyenv/shims/python2
npm ERR! gyp ERR! configure error 
.
.
npm ERR! gyp ERR! System Darwin 18.7.0
npm ERR! gyp ERR! command "[MY_HOMEDIR]/.nvm/versions/node/v16.13.0/bin/node" "[MY_HOMEDIR]/............./node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd [MY_HOMEDIR]/............./node_modules/node-sass
npm ERR! gyp ERR! node -v v16.13.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok 
npm ERR! Build failed with error code: 1

npm ERR! A complete log of this run can be found in:
npm ERR!     [MY_HOMEDIR]/.npm/_logs/2021-11-29T10_06_10_185Z-debug.log

Main error is gyp build. Even if I configure to use python 2.7 with pyenv, I keep getting gyp errors. Problem is that the library node-sass requires Python2 to build, but Python2 is also EOL. Replacing with "sass": "1.43.5" think, written in Dart, gets rid of this problem. Now could run npm install --legacy-peer-deps OK.

Trying to run: npm run dev --open got eslint errors, though non-fatal.

 WARNING  Compiled with 1 warning
Parsing error: require() of ES Module require-from-eslint.js not supported
https://stackoverflow.com/questions/69554485/eslint-error-must-use-import-to-load-es-module

Solution: replace "babel-eslint": "^10.1.0" with "@babel/eslint-parser": "^7.16.3".

Now almost there: "multiword" rule Vue Style issues:

.. /src/components/core/Footer.vue
  1:1  error  Component name "Footer" should always be multi-word  vue/multi-word-component-names

[MY_HOMEDIR]/......./src/components/error/Error.vue
  1:1  error  Component name "Error" should always be multi-word  vue/multi-word-component-names

[MY_HOMEDIR]/......../src/components/materialfy/Calendar.vue
  1:1  error  Component name "Calendar" should always be multi-word  vue/multi-word-component-names

# etc

Can be suppressed by listing single word exceptions in eslintrc.js
See https://eslint.vuejs.org/rules/multi-word-component-names.html.

{
  "vue/multi-word-component-names": ["error", {
    "ignores": ['Footer', 'Error', etc]
  }]
}

Also upgraded many versions in package.json, final build result, still with npm install --legacy-peer-deps :

npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated [email protected]: Sorry but vue-analytics is no longer maintained. I would suggest you switch to vue-gtag, with love, the guy who made the package.
npm WARN deprecated [email protected]: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated [email protected]: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated [email protected]: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated [email protected]: 3.x is no longer supported
npm WARN deprecated @hapi/[email protected]: Moved to 'npm install @sideway/address'
npm WARN deprecated [email protected]: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/[email protected]: Switch to 'npm install joi'
npm WARN deprecated [email protected]: This SVGO version is no longer supported. Upgrade to v2.x.x.

No warnings on run, app runs in browser ok, at least with two runtime errors. These also found in official demo, so may need separate issues/PRs:

  1. When logging in and then logout JS console shows repeating error:
Uncaught TypeError: Cannot read properties of undefined (reading 'updateSeries')
    at s.updateSeriesLine (ApexLineGraph.vue:92)
    at ApexLineGraph.vue:87
    at n (helpers.js:72)
updateSeriesLine @ ApexLineGraph.vue:92
(anonymous) @ ApexLineGraph.vue:87
n @ helpers.js:72
  1. Errors from Sentry remote calls: Failed to load resource: net::ERR_BLOCKED_BY_CLIENT, but could be due to my browser (Brave).

As said will PR shortly.

Dependency hell

First, thank you so much for this. It was hugely helpful -- the most helpful thing I have found, actually -- in terms of bringing me to a better understanding of the (pre-build) makeup of a Vue-based SPA.

In any case, I wanted to let you know about some problems with the packages.json which have some implicit dependencies reflecting perhaps global node modules installed on your system (?)

Steps to reproduce:

  • Start with clean VM/OS
  • Install node and npm globally in /usr/local
  • I do have vue-cli4 installed globally as well
  • No other global NPM packages
  • clone the repo
  • npm install per the quickstart
  • npm run serve or npm run dev per the Quickstart

Witnesseth the warnings about unresolved peer deps eslint-*, and the failure to launch the dev server.

Unfortunately because it took me something like > 1 hour of wrangling with NPM to synchronize all dependencies (most related to eslint) I don't have a complete log. The hard part was that many items in package.json depend on non-current-major-version of other packages; the naive way of fixing missing dependencies by installing them unfortunately either didn't work, or broke other elements.

As an example, to fix all the eslint-* problems, one may npm install --save-dev eslint. However, @vue/cli-plugin-eslint is pinned at 3.12.1, which requires [email protected] that requires non-current-major-version of eslint (eslint@^3.18.0 || ^4.0.0). Thus my (perhaps naïve) conclusion that you may have older packages globally installed.

Truly I don't mean to complain, but instead just to let you know about a new user onboarding experience in hopes that this excellent resource will continue to improve.

Kind regards

Method "$t" conflicts

Prerequisites

  • Vuetify 1.5
  • I realise that this requires ^2.0, so I tried this with the alternative vue-cron-editor-buefy
  • I checked to make sure that this issue has not already been filed

Expected Behavior

Adding this cron component will work

Current Behavior

Get an error on render

Failure Information (for bugs)

Method "$t" conflicts with an existing Vue instance method. Avoid defining component methods that start with _ or $.

Steps to Reproduce

Using this project as a base
https://github.com/ClintOxx/vuetify-admin-dashboard

  1. npm install vue-cron-editor-buefy --save
  2. Add the component to a view
  3. npm run dev

Context

Copy of my code

<template>
  <span>
    <v-icon @click="handleCreate(tenant, device, check)">
      mdi-volume-high
    </v-icon>
    <v-dialog
      v-model="silenceFormVisible"
      max-width="800"
    >
      <v-card>
        <v-card-title
          primary-title
        >
          Create Silence
        </v-card-title>
        <v-form
          ref="silenceForm"
          label-position="left"
          label-width="130px"
          style="width: 400px; margin-left:50px;"
        >
          Tenant: {{ form.tenant }}<br>
          Device: {{ form.device }}<br>
          Check: {{ form.check }}<br>
          <v-textarea
            v-model="form.reason"
            :rows="3"
            label="Reson"
            type="textarea"
            placeholder="A reason is required"
          />
          <v-checkbox
            v-model="form.expireonresolve"
            label="Expire on Resolve"
          />
          <v-radio-group v-model="form.options">
            <v-radio
              label="immediately"
              value="immediately"
            />
            <v-radio
              label="scheduled"
              value="scheduled"
            />
            <v-radio
              label="cron"
              value="cron"
            />
          </v-radio-group>
          <v-select
            v-if="form.options === 'immediately'"
            v-model="form.duration"
            :auto-select-first="true"
            :items="durationOptions"
            placeholder="Duration"
            label="Duration"
            item-text="display_name"
            item-value="key"
          />
          <VueCronEditorBuefy
            v-if="form.options === 'cron'"
            v-model="form.cron"
          />
          <v-btn @click="silenceFormVisible = false">
            Cancel
          </v-btn>
          <v-btn
            type="primary"
            @click="onSilence"
          >
            Silence
          </v-btn>
        </v-form>
      </v-card>
    </v-dialog>
  </span>
</template>

<script>
import { createSilence, createSchedule, createCron } from '@/utils/silence-api'
import VueCronEditorBuefy from 'vue-cron-editor-buefy'
import store from '@/store'

const durationOptions = [
  { key: 900, display_name: '15 minutes' },
  { key: 3600, display_name: '1 hour' },
  { key: 43200, display_name: '12 hours' },
  { key: 86400, display_name: 'a day' }
]

export default {
  name: 'Silence',
  components: { VueCronEditorBuefy },
  props: {
    tenant: {
      required: true,
      type: String,
      default: ''
    },
    device: {
      required: true,
      type: String,
      default: ''
    },
    check: {
      type: String,
      default: ''
    }
  },
  data () {
    return {
      list: null,
      listLoading: true,
      durationOptions,
      form: {
        cron: '',
        tenant: '',
        device: '',
        check: '',
        duration: '',
        reason: '',
        options: 'immediately',
        expireonresolve: false,
        scheduleRange: []
      },
      silenceFormVisible: false
    }
  },
  methods: {
    onSilence () {
      var obj = {}
      obj = this.form
      var data = {}
      if (this.form.options === 'immediately') {
        if (obj.check === '') {
          data = { 'subscription': 'client:' + obj.device, 'reason': obj.reason, 'creator': store.getters.name, 'expire': obj.duration, 'expireonresolve': obj.expireonresolve }
        } else {
          data = { 'subscription': 'client:' + obj.device, 'reason': obj.reason, 'creator': store.getters.name, 'check': obj.check, 'expire': obj.duration, 'expireonresolve': obj.expireonresolve }
        }
        createSilence(obj.tenant, data).then(response => {
        })
      }
      if (this.form.options === 'scheduled') {
        const expire = (obj.scheduleRange[1].getTime() / 1000) - (obj.scheduleRange[0].getTime() / 1000)
        if (obj.check === '') {
          data = {
            'subscription': 'client:' + obj.device,
            'reason': obj.reason,
            'creator': store.getters.name,
            'expireonresolve': obj.expireonresolve,
            'begin': obj.scheduleRange[0].getTime() / 1000,
            'expire': expire
          }
        } else {
          data = {
            'subscription': 'client:' + obj.device,
            'reason': obj.reason,
            'creator': store.getters.name,
            'check': obj.check,
            'expireonresolve': obj.expireonresolve,
            'begin': this.form.scheduleRange[0].getTime() / 1000,
            'expire': expire
          }
        }
        createSchedule(this.form.tenant, data).then(response => {
          this.loading = false
        })
      }
      if (this.form.options === 'cron') {
        if (obj.check === '') {
          data = {
            'subscription': 'client:' + obj.device,
            'reason': obj.reason,
            'creator': store.getters.name,
            'expireonresolve': obj.expireonresolve,
            'expire': obj.duration,
            'cron': obj.cron
          }
        } else {
          data = {
            'subscription': 'client:' + obj.device,
            'reason': obj.reason,
            'creator': store.getters.name,
            'check': obj.check,
            'expireonresolve': obj.expireonresolve,
            'expire': obj.duration,
            'cron': obj.cron
          }
        }
        createCron(this.form.tenant, data).then(response => {
          this.loading = false
        })
      }
      this.silenceFormVisible = false
    },
    handleCreate (tenant, device, check) {
      this.form.tenant = tenant
      this.form.device = device
      this.form.check = check
      this.silenceFormVisible = true
    }
  },
  template: '<cron/>'
}
</script>

Cant login

Hello,

Just downloaded your cool looking admin panel but I cant find any login details. Nothing in the README.txt giving details. What are the login details?

login with Laravel 7 passport dont store session

Hi I'm tryied this wonderful repo. Using Laravel Passport login I modified src/store/actions.js
When submit login form login succefully but, when navigate to other route, app redirect again to login.
Storing session not working.

 login({ commit }, userData) {
       return new Promise((resolve, reject) => {

    var config = {
    method: 'post',
    url: 'http://127.0.0.1:8000/api/[email protected]&password=1q2w3e4r',
    headers: {
      // ...data.getHeaders()
    },
    data: { username: userData.username, password: userData.password }
  };

  axios(config)
    .then(response => {
      const token = response.data.token
      const user = response.data.username
      console.log(response)
      // storing jwt in localStorage. https cookie is safer place to store
      localStorage.setItem('token', token)
      localStorage.setItem('user', user)
      axios.defaults.headers.common['Authorization'] = 'Bearer ' + token
      // mutation to change state properties to the values passed along
      commit('auth_success', { token, user })
      resolve(response)
    })
    .catch(err => {
      console.log('login error')
      commit('auth_error')
      localStorage.removeItem('token')
      reject(err)
    })`

Cannot read property 'range' of null

ERROR  Failed to compile with 1 errors3:43:32 PM

 error  in ./src/router/paths.js

Module build failed (from ./node_modules/eslint-loader/index.js):
TypeError: Cannot read property 'range' of null
    at SourceCode.getTokenBefore (D:\admx\node_modules\eslint\lib\token-store\index.js:303:18)
    at checkSpacingBefore (D:\admx\node_modules\eslint\lib\rules\template-curly-spacing.js:52:42)
    at TemplateElement (D:\admx\node_modules\eslint\lib\rules\template-curly-spacing.js:117:17)
    at D:\admx\node_modules\eslint\lib\util\safe-emitter.js:47:58
    at Array.forEach (<anonymous>)
    at Object.emit (D:\admx\node_modules\eslint\lib\util\safe-emitter.js:47:38)
    at NodeEventGenerator.applySelector (D:\admx\node_modules\eslint\lib\util\node-event-generator.js:251:26)
    at NodeEventGenerator.applySelectors (D:\admx\node_modules\eslint\lib\util\node-event-generator.js:280:22)
    at NodeEventGenerator.enterNode (D:\admx\node_modules\eslint\lib\util\node-event-generator.js:294:14)
    at CodePathAnalyzer.enterNode (D:\admx\node_modules\eslint\lib\code-path-analysis\code-path-analyzer.js:608:23)
    at Traverser.enter [as _enter] (D:\admx\node_modules\eslint\lib\linter.js:865:28)
    at Traverser._traverse (D:\admx\node_modules\eslint\lib\util\traverser.js:132:14)
    at Traverser._traverse (D:\admx\node_modules\eslint\lib\util\traverser.js:144:34)
    at Traverser._traverse (D:\admx\node_modules\eslint\lib\util\traverser.js:147:30)
    at Traverser._traverse (D:\admx\node_modules\eslint\lib\util\traverser.js:147:30)
    at Traverser._traverse (D:\admx\node_modules\eslint\lib\util\traverser.js:147:30)

 @ ./src/router/index.js 15:0-28 21:10-15
 @ ./src/main.js
 @ multi (webpack)-dev-server/client?http://192.168.0.5:8080/sockjs-node (webpack)/hot/dev-server.js ./src/main.js

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.