added readonly to mdtextarea

added readonly to mdtextarea

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/jaceks-iRonin/vue-material-test.git/'


Remove login and newsletter options

Remove login and newsletter options

These options were added for demonstration purposes only, and are no
longer needed in the Settings views as they won't be used.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/astronote/astronote-docker.git/'


User - Update user information and change pw

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/modum-io/web.git/'


Add tipp detail component

Add tipp detail component

<template>

    <button
      class="map-tipp-detail__close blank"
      @click="closeMapTippDetail"
    >

      Schliesse
    </button>

{{tipp.text}}

- {{tipp.name}}

</template>

error: pathspec 'src/components/MapTippDetail.vue' did not match any file(s) known to git


moved container check into debounce

moved container check into debounce

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/stephane/vuetify.git/'


Copy facility coach stuff to edit-user-modal

<template>

  <core-modal
    :title="$tr('editUser')"
    @cancel="displayModal(false)"
  >
    <form @submit.prevent="submitForm">

      <ui-alert
        v-if="error"
        type="error"
        :dismissible="false"
      >
        {{ error }}
      </ui-alert>

      <k-textbox
        ref="name"
        type="text"
        :label="$tr('fullName')"
        :autofocus="true"
        :maxlength="120"
        :invalid="nameIsInvalid"
        :invalidText="nameIsInvalidText"
        @blur="nameBlurred = true"
        v-model="newName"
      />

      <k-textbox
        ref="username"
        type="text"
        :label="$tr('username')"
        :maxlength="30"
        :invalid="usernameIsInvalid"
        :invalidText="usernameIsInvalidText"
        @blur="usernameBlurred = true"
        v-model="newUsername"
      />

      <k-select
        class="kind-select"
        :label="$tr('userType')"
        :options="userKinds"
        v-model="newKind"
      />

      <fieldset v-if="coachIsSelected">
        <label>
          <k-radio-button
            :label="$tr('classCoachLabel')"
            :radiovalue="false"
            v-model="isFacilityCoach"
          />
          {{ $tr('classCoachDescription') }}
        </label>
        <label>
          <k-radio-button
            :label="$tr('facilityCoachLabel')"
            :radiovalue="true"
            v-model="isFacilityCoach"
          />
          {{ $tr('facilityCoachDescription') }}
        </label>
      </fieldset>

      <div class="core-modal-buttons">
        <k-button
          :text="$tr('cancel')"
          :primary="false"
          appearance="flat-button"
          @click="displayModal(false)"
        />
        <k-button
          type="submit"
          :text="$tr('save')"
          :primary="true"
          appearance="raised-button"
          :disabled="isBusy"
        />
      </div>
    </form>
  </core-modal>

</template>

<script>

  import { updateUser, displayModal } from '../../state/actions';
  import { UserKinds } from 'kolibri.coreVue.vuex.constants';
  import { validateUsername } from 'kolibri.utils.validators';
  import coreModal from 'kolibri.coreVue.components.coreModal';
  import kTextbox from 'kolibri.coreVue.components.kTextbox';
  import kButton from 'kolibri.coreVue.components.kButton';
  import kSelect from 'kolibri.coreVue.components.kSelect';
  import uiAlert from 'kolibri.coreVue.components.uiAlert';
  import kRadioButton from 'kolibri.coreVue.components.kRadioButton';

  export default {
    name: 'editUserModal',
    $trs: {
      editUser: 'Edit user',
      fullName: 'Full name',
      username: 'Username',
      userType: 'User type',
      admin: 'Admin',
      coach: 'Coach',
      learner: 'Learner',
      save: 'Save',
      cancel: 'Cancel',
      required: 'This field is required',
      usernameNotAlphaNumUnderscore: 'Username can only contain letters, numbers, and underscores',
      classCoachLabel: 'Class coach',
      classCoachDescription: "Can only instruct classes that they're assigned to",
      facilityCoachLabel: 'Facility coach',
      facilityCoachDescription: 'Can instruct all classes in your facility',
    },
    components: {
      kButton,
      coreModal,
      kTextbox,
      kSelect,
      uiAlert,
      kRadioButton,
    },
    props: {
      id: {
        type: String,
        required: true,
      },
      name: {
        type: String,
        required: true,
      },
      username: {
        type: String,
        required: true,
      },
      kind: {
        type: String,
        required: true,
      },
    },
    data() {
      return {
        isFacilityCoach: false,
        newName: this.name,
        newUsername: this.username,
        newKind: null,
        nameBlurred: false,
        usernameBlurred: false,
        formSubmitted: false,
      };
    },
    computed: {
      coachIsSelected() {
        return this.newKind.value === UserKinds.COACH;
      },
      userKinds() {
        return [
          {
            label: this.$tr('learner'),
            value: UserKinds.LEARNER,
          },
          {
            label: this.$tr('coach'),
            value: UserKinds.COACH,
          },
          {
            label: this.$tr('admin'),
            value: UserKinds.ADMIN,
          },
        ];
      },
      nameIsInvalidText() {
        if (this.nameBlurred || this.formSubmitted) {
          if (this.newName === '') {
            return this.$tr('required');
          }
        }
        return '';
      },
      nameIsInvalid() {
        return Boolean(this.nameIsInvalidText);
      },
      usernameIsInvalidText() {
        if (this.usernameBlurred || this.formSubmitted) {
          if (this.newUsername === '') {
            return this.$tr('required');
          }
          if (!validateUsername(this.newUsername)) {
            return this.$tr('usernameNotAlphaNumUnderscore');
          }
        }
        return '';
      },
      usernameIsInvalid() {
        return Boolean(this.usernameIsInvalidText);
      },
      formIsValid() {
        return !this.nameIsInvalid && !this.usernameIsInvalid;
      },
    },
    beforeMount() {
      this.newKind = this.userKinds.find(kind => kind.value === this.kind);
    },
    methods: {
      submitForm() {
        this.formSubmitted = true;
        if (this.formIsValid) {
          const userUpdates = {};
          if (this.newUsername !== this.username) {
            userUpdates.username = this.newUsername;
          }
          if (this.newName !== this.name) {
            userUpdates.full_name = this.newName;
          }
          if (this.newKind.value !== this.kind) {
            userUpdates.kind = this.newKind.value;
          }
          this.updateUser(this.id, userUpdates);
          if (
            this.currentUserId === this.id &&
            this.currentUserKind !== UserKinds.SUPERUSER &&
            this.newKind.value === UserKinds.LEARNER
          ) {
            window.location.href = window.location.origin;
          }
        } else {
          if (this.nameIsInvalid) {
            this.$refs.name.focus();
          } else if (this.usernameIsInvalid) {
            this.$refs.username.focus();
          }
        }
      },
    },
    vuex: {
      actions: {
        updateUser,
        displayModal,
      },
      getters: {
        currentUserId: state => state.core.session.user_id,
        currentUserKind: state => state.core.session.kind[0],
        error: state => state.pageState.error,
        isBusy: state => state.pageState.isBusy,
      },
    },
  };

</script>

<style lang="stylus" scoped>

  .kind-select
    margin-bottom: 32px

</style>

<template>

  <core-modal
    :title="$tr('editUser')"
    @cancel="displayModal(false)"
  >
    <form @submit.prevent="submitForm">

      <ui-alert
        v-if="error"
        type="error"
        :dismissible="false"
      >
        {{ error }}
      </ui-alert>

      <k-textbox
        ref="name"
        type="text"
        :label="$tr('fullName')"
        :autofocus="true"
        :maxlength="120"
        :invalid="nameIsInvalid"
        :invalidText="nameIsInvalidText"
        @blur="nameBlurred = true"
        v-model="newName"
      />

      <k-textbox
        ref="username"
        type="text"
        :label="$tr('username')"
        :maxlength="30"
        :invalid="usernameIsInvalid"
        :invalidText="usernameIsInvalidText"
        @blur="usernameBlurred = true"
        v-model="newUsername"
      />

      <k-select
        class="kind-select"
        :label="$tr('userType')"
        :options="userKinds"
        v-model="newKind"
      />

      <div class="core-modal-buttons">
        <k-button
          :text="$tr('cancel')"
          :primary="false"
          appearance="flat-button"
          @click="displayModal(false)"
        />
        <k-button
          type="submit"
          :text="$tr('save')"
          :primary="true"
          appearance="raised-button"
          :disabled="isBusy"
        />
      </div>
    </form>
  </core-modal>

</template>

<script>

  import { updateUser, displayModal } from '../../state/actions';
  import { UserKinds } from 'kolibri.coreVue.vuex.constants';
  import { validateUsername } from 'kolibri.utils.validators';
  import coreModal from 'kolibri.coreVue.components.coreModal';
  import kTextbox from 'kolibri.coreVue.components.kTextbox';
  import kButton from 'kolibri.coreVue.components.kButton';
  import kSelect from 'kolibri.coreVue.components.kSelect';
  import uiAlert from 'kolibri.coreVue.components.uiAlert';

  export default {
    name: 'editUserModal',
    $trs: {
      editUser: 'Edit user',
      fullName: 'Full name',
      username: 'Username',
      userType: 'User type',
      admin: 'Admin',
      coach: 'Coach',
      learner: 'Learner',
      save: 'Save',
      cancel: 'Cancel',
      required: 'This field is required',
      usernameNotAlphaNumUnderscore: 'Username can only contain letters, numbers, and underscores',
    },
    components: {
      kButton,
      coreModal,
      kTextbox,
      kSelect,
      uiAlert,
    },
    props: {
      id: {
        type: String,
        required: true,
      },
      name: {
        type: String,
        required: true,
      },
      username: {
        type: String,
        required: true,
      },
      kind: {
        type: String,
        required: true,
      },
    },
    data() {
      return {
        newName: this.name,
        newUsername: this.username,
        newKind: null,
        nameBlurred: false,
        usernameBlurred: false,
        formSubmitted: false,
      };
    },
    computed: {
      userKinds() {
        return [
          {
            label: this.$tr('learner'),
            value: UserKinds.LEARNER,
          },
          {
            label: this.$tr('coach'),
            value: UserKinds.COACH,
          },
          {
            label: this.$tr('admin'),
            value: UserKinds.ADMIN,
          },
        ];
      },
      nameIsInvalidText() {
        if (this.nameBlurred || this.formSubmitted) {
          if (this.newName === '') {
            return this.$tr('required');
          }
        }
        return '';
      },
      nameIsInvalid() {
        return Boolean(this.nameIsInvalidText);
      },
      usernameIsInvalidText() {
        if (this.usernameBlurred || this.formSubmitted) {
          if (this.newUsername === '') {
            return this.$tr('required');
          }
          if (!validateUsername(this.newUsername)) {
            return this.$tr('usernameNotAlphaNumUnderscore');
          }
        }
        return '';
      },
      usernameIsInvalid() {
        return Boolean(this.usernameIsInvalidText);
      },
      formIsValid() {
        return !this.nameIsInvalid && !this.usernameIsInvalid;
      },
    },
    beforeMount() {
      this.newKind = this.userKinds.find(kind => kind.value === this.kind);
    },
    methods: {
      submitForm() {
        this.formSubmitted = true;
        if (this.formIsValid) {
          const userUpdates = {};
          if (this.newUsername !== this.username) {
            userUpdates.username = this.newUsername;
          }
          if (this.newName !== this.name) {
            userUpdates.full_name = this.newName;
          }
          if (this.newKind.value !== this.kind) {
            userUpdates.kind = this.newKind.value;
          }
          this.updateUser(this.id, userUpdates);
          if (
            this.currentUserId === this.id &&
            this.currentUserKind !== UserKinds.SUPERUSER &&
            this.newKind.value === UserKinds.LEARNER
          ) {
            window.location.href = window.location.origin;
          }
        } else {
          if (this.nameIsInvalid) {
            this.$refs.name.focus();
          } else if (this.usernameIsInvalid) {
            this.$refs.username.focus();
          }
        }
      },
    },
    vuex: {
      actions: {
        updateUser,
        displayModal,
      },
      getters: {
        currentUserId: state => state.core.session.user_id,
        currentUserKind: state => state.core.session.kind[0],
        error: state => state.pageState.error,
        isBusy: state => state.pageState.isBusy,
      },
    },
  };

</script>

<style lang="stylus" scoped>

  .kind-select
    margin-bottom: 32px

</style>


Auto-width for HostNewMatch modal

Auto-width for HostNewMatch modal

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/kkmsc17/smes.git/'


Rename "events" to "data" in the Events view

The purpose behind this is to keep property names generic. It also
avoids the issue of having `events.events` become a thing (due to the
JSON response having an `events` property).


Fix issue with filtering by a user's events

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/JonathanTroyer/OC-Summer-2017-Table-Web.git/'


static calibrate instrument component and props

<template>

	  Top
	  <button class="btn-update save top" data-save-pipette="top">Save</button>
	  <button class="btn-update moveto ">Move</button>

	  Bottom
	  <button class="btn-update save bottom" data-save-pipette="bottom">Save</button>
	  <button class="btn-update moveto ">Move</button>
	  Blowout
	  <button class="btn-update save blowout" data-save-pipette="blowout">Save</button>
	  <button class="btn-update moveto">Move</button>
	  Drop Tip
	  <button class="btn-update save droptip" data-save-pipette="droptip">Save</button>
	  <button class="btn-update moveto disabled">Move</button>
	  <button class="btn-update test pick-liquid disabled">Pick Up</button>
	  <button class="btn-update test eject-liquid disabled">Eject</button>

</template>

error: pathspec 'app/renderer/src/components/CalibrateInstrument.vue' did not match any file(s) known to git


autocomplete component should be an md-autocomplete and not a md-input


Fixed token creator role details display

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/04n0/goldfish.git/'


Remove useless log for chosing ingredients

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/barprive/barprive.com.git/'


Add page initialization depending on route parameters and add found cocktailed count


Open link in new tab

Open link in new tab

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/MrTyx/Habitica-MagicWand.git/'


Created main app wrapper component.

Created main app wrapper component.

<template>
  <div class="main-wrapper">
    <sidebar />
  </div>
</template>

<script>
import Sidebar from './Sidebar';

export default {
  components: {
    'sidebar': Sidebar,
  },
};
</script>

<style lang="scss">
.main-wrapper {
  background: $gray-lighter;
  bottom: 0;
  display: block;
  left: 0;
  margin: 0;
  padding: 0;
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
}
</style>

error: pathspec 'panel/src/components/MainWrapper.vue' did not match any file(s) known to git


добавляет форматтер переходов по ссылкам в историю

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/taxnuke/url-shortener.git/'


添加搜索效果

添加搜索效果

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/wuazhu/chinapost.git/'


Fix generic

Fix generic

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/JosefFriedrich-nodejs/baldr.git/'


Submenu items always present

Submenu items always present

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/mplusmuseum/mplusmuseum-stories.git/'


added missing "</script>"

added missing "</script>"

<template>

            <slot></slot>

        <slot name="dropdown-menu"></slot>

</template>


Add playlist name edition modal

Add playlist name edition modal

<template>

        {{ $t("playlists.edit_title") }} {{ playlistToEdit.name }}

        {{ $t("playlists.no_playlist") }}

      <form v-on:submit.prevent>
        <text-field
          ref="nameField"
          :label="$t('playlists.fields.name')"
          v-model="form.name"
          @enter="runConfirmation"
          v-focus
        >
        </text-field>
      </form>

          {{ $t("main.confirmation") }}

        <router-link
          :to="cancelRoute"
          class="button is-link">
          {{ $t("main.cancel") }}
        </router-link>

        {{ $t("assets.edit_fail") }}

</template>

error: pathspec 'src/components/modals/EditPlaylistModal.vue' did not match any file(s) known to git


Added activity status into the display

Added activity status into the display

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/riggerthegeek/ci-menu.git/'


Sets price to a float and cautiously parses it

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/NathanielDavid/Sumie.git/'


Show about page elements once the data has loaded from the api.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/celsowhite/celsowhite.git/'


Create super-netcam-privacy-policy.vue

Create super-netcam-privacy-policy.vue

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/paulstraw/paulstraw.com.git/'


upgraded message box to message notification

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/SF-Zhou/Learning.Node.js.git/'


update

update

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/iview/iview-doc.git/'


add new link view

add new link view

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/Luncher/BlogAdmin.git/'


Refactor

Refactor


#51 - Fix variable issue in the form submition functionality

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/AlexandreBERGIA/LivrOr_V4.git/'


Exams table style refactor

Exams table style refactor

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/JimmehCai/VTIC.git/'


fix dialog with input closing after typing #183

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/praneetloke/vue-material.git/'


child-form component implemented

child-form component implemented

<template>
  <form v-on:submit.prevent="submitForm" :class="{'form-inline': inline}">

        {{ field.label }}
        <input type="text" :name="field.field_name" :value="field.placeholder" readonly>

      {{ field.label }}
       *

        <input type="text" class="form-control" :name="field.field_name" v-model.trim="form_object[field.field_name].value" :placeholder="field.placeholder" v-on:input="touchField(field.field_name)" :key="field.key" :readonly="field.value != undefined && !form_object[field.field_name].activated">

          <button type="button" class="btn btn-warning" v-on:click="activateField(field.field_name)">
            Change
          </button>

        <input type="password" class="form-control" :name="field.field_name" v-model.trim="form_object[field.field_name].value" :placeholder="field.placeholder" v-on:input="touchField(field.field_name)" :key="field.key" :readonly="field.value != undefined && !form_object[field.field_name].activated">

          <button type="button" class="btn btn-warning" v-on:click="activateField(field.field_name)">
            Change
          </button>

        <input type="text" class="form-control" :name="field.field_name" :placeholder="field.placeholder" :ref="field.field_name"  v-model.trim="form_object[field.field_name].value" v-on:input="touchField(field.field_name)" readonly :key="field.key">

          <button type="button" :ref="field.field_name+'-btn'" :class="['btn', 'btn-default', {'disabled-button': field.value != undefined && !form_object[field.field_name].activated}]">
            <icon name="calendar"></icon>
          </button>
          <button v-if="field.value != undefined  && !form_object[field.field_name].activated" type="button" class="btn btn-warning" v-on:click="activateField(field.field_name)">
            Change
          </button>

        <multiselect :options="field.multiselect_options" :placeholder="field.placeholder" deselect-label="Remove" select-label="Select" v-model="form_object[field.field_name].value" v-on:input="touchField(field.field_name)" :key="field.key" :disabled="field.value != undefined && !form_object[field.field_name].activated" :select-label="field.SelectLabel" :deselect-label="field.DeselectLabel"></multiselect>

          <button type="button" class="btn btn-warning" v-on:click="activateField(field.field_name)">
          Change
          </button>

        <multiselect :options="form_object[field.field_name].options" :placeholder="field.placeholder" :loading="form_object[field.field_name].loading" :options-limit="10" :searchable="true" :internal-search="false" v-on:search-change="asyncFind(field.field_name, $event)" v-model="form_object[field.field_name].value" v-on:input="touchField(field.field_name)" :key="field.key" :disabled="field.value != undefined && !form_object[field.field_name].activated" :select-label="field.SelectLabel" :deselect-label="field.DeselectLabel">
          Oops! Person not found.
        </multiselect>

          <button type="button" class="btn btn-warning" v-on:click="activateField(field.field_name)">
            Change
          </button>

      {{ field.label }} is required
      {{ field.label }} is not valid
      Invalid email address

      <button type="submit" :class="field.button_class">{{ field.button_message }}</button>

  </form>
</template>

error: pathspec 'frontend/src/components/ChildForm.vue' did not match any file(s) known to git


增加行业级联组件

增加行业级联组件


可编辑表格 v-for 添加index key

可编辑表格 v-for 添加index key


Update search results on focusing search bar and don't start search when selecting ingredient from somewhere elsethan search bar

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/barprive/barprive.com.git/'


Improve readability

Improve readability


处置协议显示修改

处置协议显示修改

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/water-law/vue-admin.git/'


Minor text changes

Minor text changes

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/04n0/goldfish.git/'


chore(dev): add form-focus page

chore(dev): add form-focus page

<template>

    <q-input filled v-model="inputModel" label="QInput 1" />
    <q-input autofocus filled v-model="inputModel" label="QInput 2" />
    <q-select filled v-model="selectModel" :options="options" use-input behavior="menu" label="QSelect 1 (menu)" />
    <q-select filled v-model="selectModel" :options="options" use-input behavior="dialog" label="QSelect 2 (dialog)" />

      <q-separator spaced />

    <q-input filled v-model="inputModel" label="QInput 3 (set ID)" :for="forInput" />
    <q-input filled v-model="forInput" label="ID for above QInput" />

      <q-separator spaced />

    <q-select filled v-model="selectModel" :options="options" use-input behavior="menu" label="QSelect 3 (menu) (set ID) (autofocus)" :for="`menu_${forSelect}`" />
    <q-select filled v-model="selectModel" :options="options" use-input behavior="dialog" label="QSelect 3 (dialog) (set ID)" :for="`dialog_${forSelect}`" />
    <q-input filled v-model="forSelect" label="ID for above QSelect" />

      <q-separator spaced />

    <q-btn label="Toggle" @click="show = !show" />
    <q-input filled v-if="show" v-model="inputModel" label="QInput 4" />
    <q-select filled v-if="show" v-model="selectModel" :options="options" use-input behavior="menu" label="QSelect 5 (menu)" />
    <q-select filled v-if="show" v-model="selectModel" :options="options" use-input behavior="dialog" label="QSelect 5 (dialog)" />

</template>

error: pathspec 'ui/dev/components/form/form-focus.vue' did not match any file(s) known to git


Add `muted` to autoplay videos on MetaLamp post

🤦 this was gonna drive me nuts if I let it sit until tonight, had to take a break to fix it.


better docs

better docs

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/jaceks-iRonin/vue-material-test.git/'


Removes lastfm icon because it's kinda redundant

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/himynameisdave/himynameisdave-vue.git/'


Wechselnde Anzeige eingebaut, je nachdem ob Dateien geladen sind oder nicht.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/LinusBorg/vue-component-droparea.git/'


fix: hotfix device edition

fix: hotfix device edition

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/buckless-team/admin.git/'


Close menu on tab key

Close menu on tab key


fix layout for TIL section

fix layout for TIL section

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/stefanjudis/stefan-judis-website.git/'


Popover docs initialization, not complete

<template>
    <layout :docs="docs">
        <template slot="name">
            Popover
        </template>

        <template slot="description">
            The Popover feature, which provides a tooltip-like behavior, can be easily applied to any interactive
            element, and is customizable.
        </template>

        <template slot="demo">

                <template
                        v-for="variant in ['primary','secondary','success','outline-success','warning','danger','link']">

                            {{ placement }}

                </template>

        </template>

        <template slot="usage">

                Submit

                    Isn't this lovely?

        </template>

    </layout>
</template>

error: pathspec 'docs/pages/docs/components/popover.vue' did not match any file(s) known to git


show target of levels

show target of levels

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/xuanyan0x7c7/geometry-pad.git/'


Fix coding style

Fix coding style

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/JosefFriedrich-nodejs/baldr.git/'


vue

vue

  -- errors template implementation

<template>

{{num + page.processedTitle}}

{{question.title}}

 0" :class="css.error.root">

                        {{error.getText()}}

                <component :is="'survey-' + question.getType()" :question="question" :isEditMode="survey.isEditMode" :css="css"/>

{{question.commentText}}

                    <survey-comment :question="question" :isEditMode="survey.isEditMode" :css="css"/>

{{question.title}}

</template>

<template>

{{num + page.processedTitle}}

{{question.title}}

                <component :is="'survey-' + question.getType()" :question="question" :isEditMode="survey.isEditMode" :css="css"/>

{{question.commentText}}

                    <survey-comment :question="question" :isEditMode="survey.isEditMode" :css="css"/>

{{question.title}}

</template>


[frontend] Add a ComboBox component

[frontend] Add a ComboBox component

<template>
  <div class="combo-box" v-bind="$attrs">
    <TypeaheadInput
      v-model="inputText"
      :typeahead="typeaheadOption"
      @focusin="onFocus"
      @input-element="inputElement = $event"
    />
    <DropdownMenuOptions
      :options="filteredOptions"
      :open="dropdownVisible"
      :keydown-element="inputElement"
      @close="onDropdownClose"
      @option-selected="onSelectOption"
      @option-active="onOptionActive"
    />
  </div>
</template>

<script lang="ts">
  import { defineComponent, PropType, ref, watch, computed, toRefs } from 'vue';

  import TypeaheadInput from './TypeaheadInput.vue';
  import DropdownMenuOptions from './dropdown/DropdownMenuOptions.vue';
  import { Option } from './dropdown/DropDownMenuOptions';

  const getLabel = (option: Option): string =>
    (option as { label: string }).label || (option as string);

  export default defineComponent({
    components: { DropdownMenuOptions, TypeaheadInput },
    props: {
      modelValue: {
        type: String as PropType<string | null>,
        default: null
      },
      options: {
        type: Array as PropType<Option[]>,
        default: []
      }
    },
    emits: ['update:model-value'],
    setup(props, { emit }) {
      const { modelValue, options } = toRefs(props);

      const inputText = ref('');
      const activeOption = ref<Option | null>(null);
      const inputElement = ref<HTMLElement | null>(null);
      const dropdownVisible = ref(false);
      const filteredOptions = ref<Option[]>([]);

      const typeaheadOption = computed<Option>(
        () => (activeOption.value && getLabel(activeOption.value)) || inputText.value
      );

      const updateFromInput = (input: string): void => {
        if (!options.value || !options.value.length) {
          return;
        }

        filteredOptions.value = options.value.filter(option => getLabel(option).startsWith(input));

        if (!activeOption.value || !getLabel(activeOption.value).startsWith(input)) {
          if (!input) {
            activeOption.value = options.value[0];
          } else {
            activeOption.value =
              options.value.find(option => getLabel(option).startsWith(input)) || null;
          }
        }

        if (
          activeOption.value &&
          input !== getLabel(activeOption.value) &&
          !dropdownVisible.value
        ) {
          dropdownVisible.value = true;
        }

        const foundOption = options.value.find(option => input === getLabel(option));
        if (foundOption) {
          emit(
            'update:model-value',
            typeof foundOption === 'string' ? foundOption : foundOption.value
          );
        } else {
          emit('update:model-value', input);
        }
      };

      watch(
        modelValue,
        () => {
          if (typeof modelValue.value !== 'undefined' && options.value) {
            const found = options.value.find(val => modelValue.value === getLabel(val));
            if (found) {
              activeOption.value = found;
            }
          }
        },
        { immediate: true }
      );

      watch(inputText, newVal => {
        updateFromInput(newVal);
      });

      const onDropdownClose = () => {
        dropdownVisible.value = false;
      };

      const onFocus = () => {
        updateFromInput(inputText.value);
      };

      const onSelectOption = (option: Option) => {
        dropdownVisible.value = false;
        inputText.value = getLabel(option);
      };

      const onOptionActive = (option: Option) => {
        activeOption.value = option;
      };

      return {
        dropdownVisible,
        inputText,
        activeOption,
        getLabel,
        inputElement,
        typeaheadOption,
        filteredOptions,
        onDropdownClose,
        onFocus,
        onOptionActive,
        onSelectOption
      };
    }
  });
</script>

error: pathspec 'desktop/core/src/desktop/js/components/ComboBox.vue' did not match any file(s) known to git


Initial user infos for answer cards.

Initial user infos for answer cards.

<template>

                {{answerType}}
                {{answerTitle}}
                {{$t("common:createdBy")}}
                 Dir
                 {{name}}

{{created | formatRelativeTimesAgo}}

</template>

error: pathspec 'elyoos/components/question/answer/card/UserInfo.vue' did not match any file(s) known to git


userEntrance

userEntrance

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/NewDadaFE/newdada-daojia.git/'


Fixed requestbar

Fixed requestbar

Fixed the requestbar alignment issue

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/codeweavers/Consign.git/'


实现发送方式和加密方式为选择的操作方式

实现发送方式和加密方式为选择的操作方式

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/notadd/administration.git/'


add:分页条动作

add:分页条动作

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/ZHCS-CLUB/Hammer.git/'


Modal template added

Modal template added

<template>
    <transition name="modal">

                        <slot name="header"></slot>

                        <slot name="body"></slot>

                        <slot name="footer">
                            <button class="modal-default-button" @click="$emit('close')">
                                Fechar
                            </button>
                        </slot>

    </transition>
</template>

error: pathspec 'web/assets/js/vue/components/Modal.vue' did not match any file(s) known to git


优化 文档展示页面

优化 文档展示页面

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/xfggh/blog.git/'


Clear selected features only if selectable layer is tracking vehicle when tracking vehicles are refreshed.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/parksandwildlife/gokart.git/'


Lot of UI Changes

Lot of UI Changes

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/chetanraj/rssrdr-vue.git/'


fix vk-docs-props demo field rendering

fix vk-docs-props demo field rendering

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/vuikit/vuikit-docs.git/'


fix tracker component row handling

fix tracker component row handling

<template>

  <form
    id="tracker"
    class="container-fluid"
    @submit.prevent="submitEntry">

        <selector
          id="tracker-client"
          v-model="client"
          :options="clients"
          :selected="client"
          placeholder="Client"
          />

        <selector
          id="tracker-project"
          v-model="project"
          :options="projects"
          :selected="project"
          placeholder="Project"
          required/>

        <selector
          id="tracker-task"
          v-model="task"
          :options="tasks"
          :selected="task"
          placeholder="Task"
          required/>

        <input
          id="tracker-note"
          v-model="note"
          class="form-control w-100 shadow-sm"
          placeholder="Note"
          type="text">

            <datepicker
              v-model="date"
              id="tracker-date"
              type="text"
              class="form-control date-input text-center"
              placeholder="Min. date"
            />

            <input
              id="tracker-duration"
              v-model="duration"
              class="form-control text-right font-weight-bold w-100 shadow-sm"
              placeholder="0:00"
              type="text"
              required>

            <button
              v-if="!running && !duration"
              class="btn btn-success w-100"
              @click.prevent.exact="toggle">
              <icon :icon="['fas', 'play']" class="mr-1"/>
              Start
            </button>
            <button
              v-if="running"
              class="btn btn-danger w-100"
              @click.prevent.exact="toggle">
              <icon :icon="['fas', 'stop']" class="mr-1"/>
              Stop ({{ seconds }})
            </button>
            <button
              v-if="!running && duration"
              id="tracker-submit"
              class="btn btn-info w-100"
              type="submit">
              <icon :icon="['fas', 'plus']" class="mr-1"/>
              Add
            </button>

  </form>

</template>


removed unused suscribe form temporarily

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/alidcastano/alidcastano.github.io.git/'


update post view style

update post view style

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/Luncher/BlogAdmin.git/'


hide recipient if not in compny config json

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/modum-io/web.git/'


More placeholders

More placeholders

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/onnovalkering/sparql-over-sms.git/'


Adjust id key

Adjust id key

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/NathanielDavid/Sumie.git/'


Reverse area layers

Reverse area layers

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/autopaideia/chart-experiments.git/'


Change description to moment

Change description to moment

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/barprive/barprive.com.git/'


4月25号：医生页面修改

4月25号：医生页面修改

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/kokoroX/doctor.git/'


Fix Date Visualization for Charts

Fix Date Visualization for Charts


fix: remove invalid content

fix: remove invalid content

<template>
  <md-portal v-if="mdPersistent && mdDuration !== Infinity">
    <keep-alive>
      <md-snackbar-content :md-classes="[snackbarClasses, $mdActiveTheme]" v-if="mdActive">
        <slot />
      </md-snackbar-content>
    </keep-alive>
  </md-portal>

  <md-portal v-else>
    <md-snackbar-content :md-classes="[snackbarClasses, $mdActiveTheme]" v-if="mdActive">
      <slot />
    </md-snackbar-content>
  </md-portal>
</template>

<script>
  import MdComponent from 'core/MdComponent'
  import MdPropValidator from 'core/utils/MdPropValidator'
  import MdPortal from 'components/MdPortal/MdPortal'
  import MdSnackbarContent from './MdSnackbarContent'
  import { createSnackbar, destroySnackbar } from './MdSnackbarQueue'

  export default new MdComponent({
    name: 'MdSnackbar',
    components: {
      MdPortal,
      MdSnackbarContent
    },
    props: {
      mdActive: Boolean,
      mdPersistent: Boolean,
      mdDuration: {
        type: Number,
        default: 4000
      },
      mdPosition: {
        type: String,
        default: 'center',
      ...MdPropValidator('md-position', ['center', 'left'])
      }
    },
    computed: {
      snackbarClasses () {
        return {
          ['md-position-' + this.mdPosition]: true
        }
      }
    },
    watch: {
      async mdActive (isActive) {
        if (isActive) {
          await createSnackbar(this.mdDuration, this)

          this.$emit('update:mdActive', false)
          this.$emit('md-opened')
        } else {
          destroySnackbar()
          this.$emit('md-closed')
        }
      }
    }
  })
</script>

<style lang="scss">
  @import "~components/MdAnimation/variables";
  @import "~components/MdLayout/mixins";
  @import "~components/MdElevation/mixins";

  .md-snackbar {
    @include md-elevation(6);
    min-width: 288px;
    max-width: 568px;
    min-height: 48px;
    max-height: 80px;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    position: fixed;
    z-index: 1000;
    border-radius: 2px;
    transition: .4s $md-transition-default-timing;
    will-change: background-color, color, opacity, transform;

    &.md-position-center {
      margin: 0 auto;
      right: 0;
      bottom: 0;
      left: 0;

      &.md-snackbar-enter,
      &.md-snackbar-leave-active {
        transform: translate3D(0, calc(100% + 8px), 0);
      }
    }

    &.md-position-left {
      bottom: 24px;
      left: 24px;

      &.md-snackbar-enter,
      &.md-snackbar-leave-active {
        transform: translate3D(0, calc(100% + 32px), 0);
      }
    }

    @include md-layout-xsmall {
      left: 0;
      transform: none;
      border-radius: 0;
    }
  }

  .md-snackbar-enter,
  .md-snackbar-leave-active {
    opacity: 0;

    .md-snackbar-content {
      opacity: 0;
    }
  }

  .md-snackbar-content {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: opacity .38s $md-transition-drop-timing;

    .md-button {
      min-width: 0;
      margin: -8px -8px -8px 36px;

      @include md-layout-xsmall {
        margin-left: 12px;
      }
    }
  }
</style>

<template>
  <md-portal v-if="mdPersistent && mdDuration !== Infinity">
    <keep-alive>
      <md-snackbar-content :md-classes="[snackbarClasses, $mdActiveTheme]" v-if="mdActive">
        <slot />
        OLAR
      </md-snackbar-content>
    </keep-alive>
  </md-portal>

  <md-portal v-else>
    <md-snackbar-content :md-classes="[snackbarClasses, $mdActiveTheme]" v-if="mdActive">
      <slot />
    </md-snackbar-content>
  </md-portal>
</template>

<script>
  import MdComponent from 'core/MdComponent'
  import MdPropValidator from 'core/utils/MdPropValidator'
  import MdPortal from 'components/MdPortal/MdPortal'
  import MdSnackbarContent from './MdSnackbarContent'
  import { createSnackbar, destroySnackbar } from './MdSnackbarQueue'

  export default new MdComponent({
    name: 'MdSnackbar',
    components: {
      MdPortal,
      MdSnackbarContent
    },
    props: {
      mdActive: Boolean,
      mdPersistent: Boolean,
      mdDuration: {
        type: Number,
        default: 4000
      },
      mdPosition: {
        type: String,
        default: 'center',
      ...MdPropValidator('md-position', ['center', 'left'])
      }
    },
    computed: {
      snackbarClasses () {
        return {
          ['md-position-' + this.mdPosition]: true
        }
      }
    },
    watch: {
      async mdActive (isActive) {
        if (isActive) {
          await createSnackbar(this.mdDuration, this)

          this.$emit('update:mdActive', false)
          this.$emit('md-opened')
        } else {
          destroySnackbar()
          this.$emit('md-closed')
        }
      }
    }
  })
</script>

<style lang="scss">
  @import "~components/MdAnimation/variables";
  @import "~components/MdLayout/mixins";
  @import "~components/MdElevation/mixins";

  .md-snackbar {
    @include md-elevation(6);
    min-width: 288px;
    max-width: 568px;
    min-height: 48px;
    max-height: 80px;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    position: fixed;
    z-index: 1000;
    border-radius: 2px;
    transition: .4s $md-transition-default-timing;
    will-change: background-color, color, opacity, transform;

    &.md-position-center {
      margin: 0 auto;
      right: 0;
      bottom: 0;
      left: 0;

      &.md-snackbar-enter,
      &.md-snackbar-leave-active {
        transform: translate3D(0, calc(100% + 8px), 0);
      }
    }

    &.md-position-left {
      bottom: 24px;
      left: 24px;

      &.md-snackbar-enter,
      &.md-snackbar-leave-active {
        transform: translate3D(0, calc(100% + 32px), 0);
      }
    }

    @include md-layout-xsmall {
      left: 0;
      transform: none;
      border-radius: 0;
    }
  }

  .md-snackbar-enter,
  .md-snackbar-leave-active {
    opacity: 0;

    .md-snackbar-content {
      opacity: 0;
    }
  }

  .md-snackbar-content {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: opacity .38s $md-transition-drop-timing;

    .md-button {
      min-width: 0;
      margin: -8px -8px -8px 36px;

      @include md-layout-xsmall {
        margin-left: 12px;
      }
    }
  }
</style>


Fix container padding on small devices

Fix container padding on small devices

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/stefanjudis/stefan-judis-website.git/'


Revert lazy iamge changes

Revert lazy iamge changes


Listen to date changes and display button only when export is doable

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/PayBreak/basket.git/'


ompleted general layout of page, unwrap button is only enabled when there is an  token input

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/04n0/goldfish.git/'


add box

add box

<template>
	<div :style="{margin:gap}"><slot></slot></div>
</template>

<script>
	export default {
		props: {
			gap: String
		}
	}
</script>

error: pathspec 'src/components/box.vue' did not match any file(s) known to git


fixed bracket

fixed bracket


Start writing comment form

Start writing comment form

<template>

Add a Comment

      <editor v-model="comment.body"></editor>

        You must be logged in to comment.

</template>

error: pathspec 'client/src/components/Comments/Form.vue' did not match any file(s) known to git


Tweaked the button

Tweaked the button

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/codeweavers/Consign.git/'


修改底部导航的颜色

修改底部导航的颜色

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/GTTX6464/eat-love-pray.git/'


fix indentation

fix indentation

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/praneetloke/vue-material.git/'


fixed image fade

fixed image fade

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/jcock/jcock.rocks.nuxt.git/'


Fix name

Fix name


Phase 1 rewrite

Phase 1 rewrite

<template>

    {{ displayText }}

      <div
        class="bar"
        :style="{
          'border-color': progressBarColor,
          transform: `rotate(${rotationDegrees}deg)`,
        }"
      >

</template>

error: pathspec 'vue/src/components/percircle.vue' did not match any file(s) known to git


Minor css updates

Minor css updates

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/jordmur/txt.git/'


Changed SVG icons to USING

Changed SVG icons to USING


[Tests] Revert component name to 'component'

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/laliluna/vue-test-utils.git/'


feat: docs - Example for sticky table header (#4039)

<template>
  <div class='q-pa-md'>
    <q-table
      table-class='my-custom-table'
      title='Treats'
      :data='data'
      :columns='columns'
      row-key='name'
      :sort-method='customSort'
      binary-state-sort
    ></q-table>
  </div>
</template>

<script>
export default {
  data() {
    return {
      columns: [
        {
          name: 'name',
          required: true,
          label: 'Dessert (100g serving)',
          align: 'left',
          field: row => row.name,
          format: val => `${val}`,
          sortable: true
        },
        {
          name: 'calories',
          align: 'center',
          label: 'Calories',
          field: 'calories',
          sortable: true
        },
        { name: 'fat', label: 'Fat (g)', field: 'fat', sortable: true },
        { name: 'carbs', label: 'Carbs (g)', field: 'carbs', sortable: true },
        {
          name: 'protein',
          label: 'Protein (g)',
          field: 'protein',
          sortable: true
        },
        {
          name: 'sodium',
          label: 'Sodium (mg)',
          field: 'sodium',
          sortable: true
        },
        {
          name: 'calcium',
          label: 'Calcium (%)',
          field: 'calcium',
          sortable: true,
          sort: (a, b) => parseInt(a, 10) - parseInt(b, 10)
        },
        {
          name: 'iron',
          label: 'Iron (%)',
          field: 'iron',
          sortable: true,
          sort: (a, b) => parseInt(a, 10) - parseInt(b, 10)
        }
      ],
      data: [
        {
          name: 'Frozen Yogurt',
          calories: 159,
          fat: 6.0,
          carbs: 24,
          protein: 4.0,
          sodium: 87,
          calcium: '14%',
          iron: '1%'
        },
        {
          name: 'Ice cream sandwich',
          calories: 237,
          fat: 9.0,
          carbs: 37,
          protein: 4.3,
          sodium: 129,
          calcium: '8%',
          iron: '1%'
        },
        {
          name: 'Eclair',
          calories: 262,
          fat: 16.0,
          carbs: 23,
          protein: 6.0,
          sodium: 337,
          calcium: '6%',
          iron: '7%'
        },
        {
          name: 'Cupcake',
          calories: 305,
          fat: 3.7,
          carbs: 67,
          protein: 4.3,
          sodium: 413,
          calcium: '3%',
          iron: '8%'
        },
        {
          name: 'Gingerbread',
          calories: 356,
          fat: 16.0,
          carbs: 49,
          protein: 3.9,
          sodium: 327,
          calcium: '7%',
          iron: '16%'
        },
        {
          name: 'Jelly bean',
          calories: 375,
          fat: 0.0,
          carbs: 94,
          protein: 0.0,
          sodium: 50,
          calcium: '0%',
          iron: '0%'
        },
        {
          name: 'Lollipop',
          calories: 392,
          fat: 0.2,
          carbs: 98,
          protein: 0,
          sodium: 38,
          calcium: '0%',
          iron: '2%'
        },
        {
          name: 'Honeycomb',
          calories: 408,
          fat: 3.2,
          carbs: 87,
          protein: 6.5,
          sodium: 562,
          calcium: '0%',
          iron: '45%'
        },
        {
          name: 'Donut',
          calories: 452,
          fat: 25.0,
          carbs: 51,
          protein: 4.9,
          sodium: 326,
          calcium: '2%',
          iron: '22%'
        },
        {
          name: 'KitKat',
          calories: 518,
          fat: 26.0,
          carbs: 65,
          protein: 7,
          sodium: 54,
          calcium: '12%',
          iron: '6%'
        }
      ]
    };
  },
  methods: {
    customSort(rows, sortBy, descending) {
      let data = [...rows];

      if (sortBy) {
        data.sort((a, b) => {
          let x = descending ? b : a;
          let y = descending ? a : b;
          if (sortBy === 'name') {
            // string sort
            return x[sortBy] > y[sortBy] ? 1 : x[sortBy] < y[sortBy] ? -1 : 0;
          } else {
            // numeric sort
            return parseFloat(x[sortBy]) - parseFloat(y[sortBy]);
          }
        });
      }

      return data;
    }
  }
};
</script>

<style>
/* max height is important */
.my-custom-table {
  max-height: 200px;
}

.my-custom-table thead tr:first-child th {
  position: sticky;
  top: 0;
  background: cadetblue;
  z-index: 1000;
  box-shadow: 1px 2px 3px #808080ba;
}
</style>

error: pathspec 'docs/src/examples/QTable/StickyHeader.vue' did not match any file(s) known to git


Remove buttons from grants page

Remove buttons from grants page

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/ICJIA/icjia-gata.git/'


Groups

Groups

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/SmartCentre/cloudapp.git/'


replace img with fa-icon

replace img with fa-icon

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/l10178/grapes.git/'


update

update

<template>

   CheckBox

   <k-check-box :checkChange="checkBoxChange" :checkData="[
      {name: '苹果', checked: true, key: 'apple'},
      {name: '西瓜', key: 'xg'},
      {name: '橘子', key: 'orange'},
      {name: '南瓜', key: 'ng'}
    ]"></k-check-box>

    <k-check-box all="true" :checkChange="checkBoxChange" checkType="mut" :checkData="[
      {name: '苹果', checked: true, key: 'apple'},
      {name: '西瓜', key: 'xg'},
      {name: '橘子', key: 'orange'},
      {name: '南瓜', key: 'ng'}
    ]"></k-check-box>

</template>

error: pathspec 'test.vue' did not match any file(s) known to git


cleanup element before destroy

cleanup element before destroy


Implement open with archive

Implement open with archive

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/JosefFriedrich-nodejs/baldr.git/'


fix table arrow sort (#347)

fix table arrow sort (#347)


enable

enable

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/lijianqiang/open-plan-vue.git/'


add responsive classes

add responsive classes


a == should have been ===

a == should have been ===


Adjusting HTML data to new API, HTML restructuring

<template>

    All Users

   ( {{ getUsers.length }} )

    <input type="search">

      <user-create-modal></user-create-modal>

        Student Name
        Username
        Edit

          {{learner.first_name}} {{learner.last_name}}

          {{learner.username}}

          <user-edit-modal
            :userid="learner.id"
            :roles="learner.roles"
            :username="learner.username"
            :firstname="learner.first_name"
            :lastname="learner.last_name">
          </user-edit-modal>

Total:

{{ getUsers.length }}

</template>

<template>

      <user-create-modal></user-create-modal>

          Student Name
          Username
          Edit

            {{ learner.first_name + " " + learner.last_name}}

            {{learner.username}}

            <user-edit-modal
              :userid="learner.id"
              :roles="learner.roles"
              :username="learner.username"
              :firstname="learner.first_name"
              :lastname="learner.last_name">
            </user-edit-modal>

Total:

{{ getUsers.length }}

</template>


#488 - product page - fix for safari details overlay

<template>

        <breadcrumbs :routes="breadcrumbs.routes" :active-route="breadcrumbs.name"/>

            <transition name="fade" appear>

            </transition>

              sku: {{ product.sku}}

              {{ product.name | htmlDecode }}

                  {{ product.priceInclTax | price }}

                  {{ product.originalPriceInclTax | price }}

                {{ product.priceInclTax | price }}

                  {{ option.label }}

                    {{ configuration[option.label.toLowerCase()].label }}

                    <color-button
                      v-for="(c, i) in options.color"
                      :key="i"
                      :id="c.id"
                      :label="c.label"
                      context="product"
                      code="color"
                      class="mr10"
                      :class="{ active: c.id == configuration.color.id }"
                    />

                    <size-button
                      v-for="(s, i) in options.size"
                      :key="i"
                      :id="s.id"
                      :label="s.label"
                      context="product"
                      code="size"
                      class="mr10 mb10"
                      :class="{ active: s.id == configuration.size.id }"
                      v-focus-clean
                    />

                  <router-link
                    to="/size-guide"
                    v-if="option.label == 'Size'"
                    class="p0 ml30 no-underline action size-guide"
                  >
                    accessibility

                      Size guide

                  </router-link>

            <product-links
              v-if="product.type_id =='grouped' && !loading"
              :products="product.product_links"
            />

              <add-to-cart
                :product="product"
                class="col-xs-12 col-sm-4 col-md-6 h4 bg-black c-white py20 brdr-none"
              />

                <button
                  class="p0 bg-transparent brdr-none action"
                  @click="addToFavorite"
                >
                  {{ favorite.icon }}
                  Add to favorite
                </button>

                <button
                  class="p0 bg-transparent brdr-none action"
                  @click="addToCompare"
                >
                  compare

                      Add to compare

                      Remove from compare

                </button>

        Product details

              <product-attribute
                :key="attr.attribute_code"
                v-for="attr in all_custom_attributes"
                :product="product"
                :attribute="attr"
                emptyPlaceholder="N/A"
              ></product-attribute>

    <related-products/>

</template>


fix(MdSteppers): recalculate styles on window resize (#1394)

* fix(MdSteppers): overflow on resize

* refactor(MdSteppers): add beforeDestroy hook to remove resize listener

<template>

      <md-step-header v-for="(_, index) in MdSteppers.items" :key="index" :index="index" />

        <slot />

</template>


change

change

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/icloudcity/iCUi.git/'


Reduce padding to have 100% wide cocktail cards on dashboard

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/barprive/barprive.com.git/'


tweak text note textarea height

tweak text note textarea height

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/parksandwildlife/gokart.git/'


add missing space

add missing space

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/stefanjudis/stefan-judis-website.git/'


Fix missing commas in Theme configuration (#1244)

<template>
  <page-container centered :title="$t('pages.themeConfiguration.title')">

Creating themes

      <note-block warning>
        To use custom themes you'll need SCSS/SASS support in your project. Read more about Pre-Processors. In the near future you'll be able to use themes with Plain CSS and Stylus too.
      </note-block>

The simplest markup to create a theme in Vue Material is:

        @import "~vue-material/dist/theme/engine"; // Import the theme engine

        @include md-register-theme("default", (
          primary: md-get-palette-color(blue, A200), // The primary color of your application
          accent: md-get-palette-color(red, A200) // The accent or secondary color
        ));

        @import "~vue-material/dist/theme/all"; // Apply the theme

Available colors

Vue Material comes with the nice Material Design color palette. You can fully use it to build your themes, using the available colors along with the color shade.

The shades are based on color weight, that can be, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200, A400 or A700.

All of those colors can be passed as an argument of md-get-palette-color:

red

pink

purple

deeppurple

indigo

blue

lightblue

cyan

teal

green

lightgreen

lime

yellow

amber

orange

deeporange

brown

grey

bluegrey

white

black

        @import "~vue-material/dist/theme/engine"; // Import the theme engine

        @include md-register-theme("default", (
          primary: md-get-palette-color(green, A200), // The primary color of your application
          accent: md-get-palette-color(pink, 500) // The accent or secondary color
        ));

        @import "~vue-material/dist/theme/all"; // Apply the theme

Default colors

Vue Material have default theme colors:

Primary: #448aff => Blue A200

Accent: #ff5252 => Red A200

This means that if you do not pass all arguments of md-register-theme, the default ones will be applied:

        @import "~vue-material/dist/theme/engine"; // Import the theme engine

        @include md-register-theme("default", (
          primary: md-get-palette-color(blue, A200) // The primary color of your application
        ));

        @import "~vue-material/dist/theme/all"; // Apply the theme

Using your own colors

Sometimes the colors of your brand do not match with the material ones. It is possible to pass your own colors, without using the Material Design Palette:

        @import "~vue-material/dist/theme/engine"; // Import the theme engine

        @include md-register-theme("default", (
          primary: #3fffbe, // The primary color of your brand
          accent: #1a11e8 // The secondary color of your brand
        ));

        @import "~vue-material/dist/theme/all"; // Apply the theme

Dark Themes

By default light colors will be used on backgrounds, but you can easily change this, by passing a theme attribute:

        @import "~vue-material/dist/theme/engine"; // Import the theme engine

        @include md-register-theme("default", (
          primary: md-get-palette-color(blue, A200), // The primary color of your application
          accent: md-get-palette-color(red, A200), // The accent or secondary color
          theme: dark // This can be dark or light
        ));

        @import "~vue-material/dist/theme/all"; // Apply the theme

Theming individual components

You can theme individual components without effort, by calling the components one by one. This will make your final build size smaller and more performatic:

        @import "~vue-material/dist/theme/engine"; // Import the theme engine

        @include md-register-theme("default", (
          primary: md-get-palette-color(blue, A200), // The primary color of your application
          accent: md-get-palette-color(red, A200), // The accent or secondary color
          theme: dark // This can be dark or light
        ));

        @import "~vue-material/dist/components/MdButton/theme"; // Apply the Button theme
        @import "~vue-material/dist/components/MdContent/theme"; // Apply the Content theme
        @import "~vue-material/dist/components/MdToolbar/theme"; // Apply the Toolbar theme

  </page-container>
</template>

<template>
  <page-container centered :title="$t('pages.themeConfiguration.title')">

Creating themes

      <note-block warning>
        To use custom themes you'll need SCSS/SASS support in your project. Read more about Pre-Processors. In the near future you'll be able to use themes with Plain CSS and Stylus too.
      </note-block>

The simplest markup to create a theme in Vue Material is:

        @import "~vue-material/dist/theme/engine"; // Import the theme engine

        @include md-register-theme("default", (
          primary: md-get-palette-color(blue, A200), // The primary color of your application
          accent: md-get-palette-color(red, A200) // The accent or secondary color
        ));

        @import "~vue-material/dist/theme/all"; // Apply the theme

Available colors

Vue Material comes with the nice Material Design color palette. You can fully use it to build your themes, using the available colors along with the color shade.

The shades are based on color weight, that can be, 100, 200, 300, 400, 500, 600, 700, 800, 900, A100, A200, A400 or A700.

All of those colors can be passed as an argument of md-get-palette-color:

red

pink

purple

deeppurple

indigo

blue

lightblue

cyan

teal

green

lightgreen

lime

yellow

amber

orange

deeporange

brown

grey

bluegrey

white

black

        @import "~vue-material/dist/theme/engine"; // Import the theme engine

        @include md-register-theme("default", (
          primary: md-get-palette-color(green, A200), // The primary color of your application
          accent: md-get-palette-color(pink, 500) // The accent or secondary color
        ));

        @import "~vue-material/dist/theme/all"; // Apply the theme

Default colors

Vue Material have default theme colors:

Primary: #448aff => Blue A200

Accent: #ff5252 => Red A200

This means that if you do not pass all arguments of md-register-theme, the default ones will be applied:

        @import "~vue-material/dist/theme/engine"; // Import the theme engine

        @include md-register-theme("default", (
          primary: md-get-palette-color(blue, A200) // The primary color of your application
        ));

        @import "~vue-material/dist/theme/all"; // Apply the theme

Using your own colors

Sometimes the colors of your brand do not match with the material ones. It is possible to pass your own colors, without using the Material Design Palette:

        @import "~vue-material/dist/theme/engine"; // Import the theme engine

        @include md-register-theme("default", (
          primary: #3fffbe, // The primary color of your brand
          accent: #1a11e8 // The secondary color of your brand
        ));

        @import "~vue-material/dist/theme/all"; // Apply the theme

Dark Themes

By default light colors will be used on backgrounds, but you can easily change this, by passing a theme attribute:

        @import "~vue-material/dist/theme/engine"; // Import the theme engine

        @include md-register-theme("default", (
          primary: md-get-palette-color(blue, A200), // The primary color of your application
          accent: md-get-palette-color(red, A200) // The accent or secondary color
          theme: dark // This can be dark or light
        ));

        @import "~vue-material/dist/theme/all"; // Apply the theme

Theming individual components

You can theme individual components without effort, by calling the components one by one. This will make your final build size smaller and more performatic:

        @import "~vue-material/dist/theme/engine"; // Import the theme engine

        @include md-register-theme("default", (
          primary: md-get-palette-color(blue, A200), // The primary color of your application
          accent: md-get-palette-color(red, A200) // The accent or secondary color
          theme: dark // This can be dark or light
        ));

        @import "~vue-material/dist/components/MdButton/theme"; // Apply the Button theme
        @import "~vue-material/dist/components/MdContent/theme"; // Apply the Content theme
        @import "~vue-material/dist/components/MdToolbar/theme"; // Apply the Toolbar theme

  </page-container>
</template>


Fix 404 on link buttons

Fix 404 on link buttons


Update

Update

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/jaceks-iRonin/vue-material-test.git/'


update about layout

update about layout

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/mubaidr/gh-pages.git/'


Improve detection of card lightness

Improve detection of card lightness

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/praneetloke/vue-material.git/'


change focus color of search box

change focus color of search box

<template>

      <input
        type="search"
        v-el:search
        placeholder="Find content..."
        autocomplete="off"
        v-focus="searchOpen"
        v-model="localSearchTerm"
        id="search"
        name="search"
        @keyup="search() | debounce 500"
        @keydown.esc.prevent="clear()">
      <button class="reset" type="reset" @click="clear()" :style="{ visibility: localSearchTerm ? 'inherit' : 'hidden' }">
        <svg height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
          <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path>
          <path d="M0 0h24v24H0z" fill="none"></path>
        </svg>
      </button>

        {{ message }}

      <card-grid v-if="topics.length && showTopics">
        <topic-card
          v-for="topic in topics"
          class="card"
          :id="topic.id"
          :title="topic.title"
          :ntotal="topic.n_total"
          :ncomplete="topic.n_complete">
        </topic-card>
      </card-grid>

      <card-grid v-if="contents.length">
        <content-card
          v-for="content in contents"
          class="card"
          :title="content.title"
          :thumbnail="content.thumbnail"
          :kind="content.kind"
          :progress="content.progress"
          :id="content.id">
        </content-card>
      </card-grid>

</template>


(fix) send gauge value in percentage (between 0 and 1)

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/JeremieLussiez/iro.git/'


Spelling errors

Spelling errors

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/MrTyx/Habitica-MagicWand.git/'


Update view.vue

Update view.vue

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/TuhuFE/wepy.git/'


Added sidebar list items component.

Added sidebar list items component.

<template>
  <div
    :class="listItemsClasses"
  >
    <ul>
      <li
        v-for="article in currentList"
        :key="article.file"
      >
        {{ article.slug }}
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  props: {
    listVisibility: {
      type: Boolean,
      default: false,
    },
  },
  computed: {
    listItemsClasses() {
      return {
        'list-items': true,
        'list-items--visible': !this.listVisibility && (this.selectedList !== null),
      };
    },
    selectedList() {
      return this.$store.getters.getSelectedList;
    },
    lists() {
      return this.$store.getters.getLists;
    },
    currentList() {
      return this.lists[this.selectedList];
    }
  },
}
</script>

<style lang="scss">
.list-items {
  @include right-shadow;

  background: $gray-lighter;
  bottom: 0;
  display: block;
  left: -$sidebar-entries-width;
  position: fixed;
  top: 0;
  transition: left 0.95s;
  width: $sidebar-entries-width;
  z-index: $sidebar-list-index;

  &.list-items--visible {
    left: $sidebar-width;
    transition: left 0.95s;
  }
}
</style>

error: pathspec 'panel/src/components/SidebarListItems.vue' did not match any file(s) known to git


add basic footer :ok_hand:

add basic footer :ok_hand:

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/Wheatability/lets-group.git/'


Fix wrong attribute value

Fix wrong attribute value

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/justty/passport.git/'


add SongService to songs component

add SongService to songs component

<template>
  <v-layout column>
    <v-flex xs6 offset-xs3>
        <panel title="Songs">
          <div v-for="song in songs" :key="song.title">
            {{song.title}} -
            {{song.artist}} -
            {{song.album}}
          </div>
        </panel>
    </v-flex>
  </v-layout>
</template>

<script>
import SongsService from '@/services/SongsService'
import Panel from '@/components/Panel'
export default {
  data () {
    return {
      songs: [{
        title: 'Wild flower',
        artist: 'The Cult',
        album: 'Electric'
      }]
    }
  },
  components: {
    Panel
  },
  async mounted () {
    console.log("Songs is mounted")
    this.songs = await SongsService.index()
  }

}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>

</style>

error: pathspec 'client/src/components/Songs.vue' did not match any file(s) known to git


Debugging, fix display

Debugging, fix display

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/JonathanTroyer/OC-Summer-2017-Table-Web.git/'


git push

git push

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/killandy/Douban-Movie-DataVis.git/'