Могу ли я использовать Office UI Fabric React во внутреннем приложении не от Microsoft?

Это чистое решение для JavaScript без каких-либо библиотек или плагинов:

document.addEventListener('click', function (e) {
    if (hasClass(e.target, 'bu')) {
        // .bu clicked
        // Do your thing
    } else if (hasClass(e.target, 'test')) {
        // .test clicked
        // Do your other thing
    }
}, false);

, где hasClass -

function hasClass(elem, className) {
    return elem.className.split(' ').indexOf(className) > -1;
}

Live demo

Кредит относится к Dave и Sime Vidas

Использование более современных JS, hasClass может быть реализовано как:

function hasClass(elem, className) {
    return elem.classList.contains(className);
}

1
задан Machavity 29 March 2019 в 14:45
поделиться

1 ответ

Да! Вы можете определенно использовать Fabric для таких приложений. Однако в соответствии с лицензией на ресурсы , связанной с этим документом, ресурсы (шрифты и значки) могут использоваться только в том случае, если приложение каким-либо образом подключается к службе Microsoft. Это может быть так же просто, как размещение приложения в качестве веб-приложения Azure.

Вот связанная цитата из этого комментария GitHub , которая немного расширяется:

Ресурсы Fabric (шрифты, значки и логотипы продуктов) являются частью бренда Microsoft и могут использоваться только в приложениях & amp; услуги, в том числе коммерческие, которые связаны с продуктами Microsoft. К ним относятся надстройки для Office , веб-части для SharePoint и другие расширения для продуктов Microsoft. Это относится к использованию ресурсов в самом коде приложения, а также к любым проектам, созданным инструментарием.

Однако весь код Fabric (JS, CSS и т. Д.) Имеет лицензию MIT и может использоваться в коммерческих продуктах сторонних производителей. Существует даже первоклассная поддержка Selawik , открытого альтернативного пользовательского интерфейса Segoe с открытым исходным кодом. Тем не менее, сегодня нет замены шрифту иконки.

Чтобы отказаться от этих ресурсов, вы можете заменить значки по умолчанию Fabric на что-то вроде Font Awesome, например:

import { registerIcons } from '@uifabric/styling';
import FontAwesomeIcon from '@fortawesome/react-fontawesome';

registerIcons({
  icons: {
    'check-square': <FontAwesomeIcon icon='check-square' />,
    ...etc
  }
});

Чтобы отказаться от пользовательского интерфейса Segoe, вы можете использовать команду create Пользовательская тема, которая заменяет defaultFontStyle другим шрифтом. Вот CodePen, иллюстрирующий это: https://codepen.io/jahnp/pen/pYMyZM

0
ответ дан Peter Jahn 29 March 2019 в 14:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: