Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (20)

Лучшие ответы пользователя

Все ответы (11)
  • Почему date-fns локализирует в родительном падеже (вместо именительного)?

    @ikerya Автор вопроса
    Пример из: https://material-ui-pickers.dev/localization/date-fns — как настроить именительный падеж для русской локализации. На всякий случай публикую код здесь:

    import format from "date-fns/format";
    import frLocale from "date-fns/locale/fr";
    import ruLocale from "date-fns/locale/ru";
    import enLocale from "date-fns/locale/en-US";
    import DateFnsUtils from "@date-io/date-fns";
    import MoreIcon from "@material-ui/icons/MoreVert";
    import React, { useState, useCallback } from "react";
    import { IconButton, Menu, MenuItem } from "@material-ui/core";
    import { DatePicker, MuiPickersUtilsProvider } from "@material-ui/pickers";
    
    const localeMap = {
      en: enLocale,
      fr: frLocale,
      ru: ruLocale,
    };
    
    class RuLocalizedUtils extends DateFnsUtils {
      getCalendarHeaderText(date) {
        return format(date, "LLLL", { locale: this.locale });
      }
    
      getDatePickerHeaderText(date) {
        return format(date, "dd MMMM", { locale: this.locale });
      }
    }
    
    class FrLocalizedUtils extends DateFnsUtils {
      getDatePickerHeaderText(date) {
        return format(date, "d MMM yyyy", { locale: this.locale });
      }
    }
    
    const localeUtilsMap = {
      en: DateFnsUtils,
      fr: FrLocalizedUtils,
      ru: RuLocalizedUtils,
    };
    
    const localeFormatMap = {
      en: "MMMM d, yyyy",
      fr: "d MMM yyyy",
      ru: "d MMM yyyy",
    };
    
    const localeCancelLabelMap = {
      en: "cancel",
      fr: "annuler",
      ru: "отмена",
    };
    
    function DateFnsLocalizationExample() {
      const [locale, setLocale] = useState("ru");
      const [anchorEl, setAnchorEl] = useState(null);
      const [selectedDate, handleDateChange] = useState(new Date());
    
      const handleMenuOpen = useCallback(e => {
        e.stopPropagation();
        setAnchorEl(e.currentTarget);
      }, []);
    
      const selectLocale = useCallback(locale => {
        setLocale(locale);
        setAnchorEl(null);
      }, []);
    
      return (
        <MuiPickersUtilsProvider utils={localeUtilsMap[locale]} locale={localeMap[locale]}>
          <DatePicker
            value={selectedDate}
            onChange={handleDateChange}
            format={localeFormatMap[locale]}
            cancelLabel={localeCancelLabelMap[locale]}
            InputProps={{
              endAdornment: (
                <IconButton
                  aria-label="Select locale"
                  onClick={handleMenuOpen}
                  aria-owns={anchorEl ? "locale-menu" : undefined}
                >
                  <MoreIcon />
                </IconButton>
              ),
            }}
          />
    
          <Menu
            id="locale-menu"
            anchorEl={anchorEl}
            open={Boolean(anchorEl)}
            onClose={() => setAnchorEl(null)}
          >
            {Object.keys(localeMap).map(localeItem => (
              <MenuItem
                key={localeItem}
                selected={localeItem === locale}
                onClick={() => selectLocale(localeItem)}
              >
                {localeItem}
              </MenuItem>
            ))}
          </Menu>
        </MuiPickersUtilsProvider>
      );
    }
    
    export default DateFnsLocalizationExample;
    Ответ написан
    1 комментарий
  • Как решить проблему события click?

    @ikerya
    Дело в том, что когда вы вешаете слушатель на блок с классом mobil, этого элемента ещё не существует, и чтобы, событие вызывалось, Вам нужно вешать слушатель каждый раз, когда добавляете класс mobil блоку с классом block:

    var doit;
    
    function resizedw() {
        if ($(document).width() < 500) {
            $('.block').addClass("mobil");
    
            $('.mobil').click(function() {
                $(this).css('background', 'blue');
            });
        } else
            $('.block').removeClass("mobil");
    
    };
    window.onresize = function() {
        clearTimeout(doit);
        doit = setTimeout(function() {
            resizedw();
        }, 0);
    };
    Ответ написан
    Комментировать
  • Как зарегистрировать ООО в apple developer без знания английского?

    @ikerya

    нужно написать им контактный телефон, удобное время

    Я нанимаю переводчика и он сидит рядом со мной целый день и ждет звонка из техподдержки?

    Хммммм....
    Ответ написан
    Комментировать
  • Как проверить инпут на пустоту?

    @ikerya
    Вы забыли запросить параметр input -- value.

    s = ' ';
    s = s.replace(/^\s+|\s+$/g, '');
    if(document.getElementById("name").value == s){alert("!!!");}
    Ответ написан
    Комментировать
  • Как получить созданный элемент?

    @ikerya
    Можно назначить слушатель элементу (вы пытаетесь повесить обработчик на событие click для div-ов, но на элементы, которые будут добавлены в ходе работы вашего скрипта, этот обработчик не будет действовать) после добавления его в DOM:
    var cDiv = document.querySelector('button'),
    		el = document.getElementsByTagName('div');
    
    var click = e => {
      e = document.createElement('div');
      e.setAttribute('class', 'sq');
      document.body.appendChild(e);
      el = e;
      let elX = Math.floor(Math.random() * (151 - 50)) + 50;
      let elY = Math.floor(Math.random() * (151 - 50)) + 50;
      with(e.style) {
        position = 'absolute';
        width = elX + 'px';
        height = elY + 'px';
        background = '#f00';
        zIndex = '-1';
        border = '2px solid #000';
        top = Math.floor(Math.random() * (window.innerHeight - elY)) + 'px';
        left = Math.floor(Math.random() * (window.innerWidth - elX)) + 'px';
      }
      
    	e.addEventListener('click', info);
    };
    
    var info = e => {
    	console.log(e.target);
    };
    
    cDiv.addEventListener('click', click);
    Ответ написан
    3 комментария

Лучшие вопросы пользователя

Все вопросы (42)