Giter VIP home page Giter VIP logo

tileslinksforsponline's Introduction

Personal Links solution

πŸ“ Description

This solution provides functionality which may be added to any SharePoint page (as full webpart page as well) or as personal app in teams and teams tab. The solution is build from the following components(parts) which may be found in separate catalogs:

  • Webpart - this is the main component of the solution. It provides a personalized view for links. This provides an another way of navigation that may be created by the user to content that is important for them. The webpart may be added as teams personal app and teams tab. User links are saved in a json file in their OneDrive app catalog folder.

  • AdminSite - this is a setup script in PowerShell which uses CLI for Microsoft 365 to create a SharePoint site with a list which will store predefined links. The items are then used in the webpart as proposals of links the user may add to his personal list.
  • Extension - this is solution has two components. An Application Customizer which will a header on every SharePoint page with a button which will allow to add the current page link as a new personal link and a Command Set which will be added to every SharePoint list and Library allowing to add a link to the current selected item as a new personal link.

In future I want to extend this with extensions for sites and lists that will allow to add a personal link from any point of SharePoint and with some kind of admin app (maybe some console application or other πŸ€”) which will allow to add not removable links for other users by the company.

This kind of solution gives an another personalized navigation for an Intranet portal which the users may create themselves.

πŸ’‘ Contributing

Sure why not. If you have ideas for new features or feedback, create an issue in the issues list.

πŸ§‘β€πŸ’» Technologies

SPFx 1.16.1

⚠ Disclaimer

This code is provided as is without warranty of any kind, either express or implied, including any implied warranties of fitness for a particular purpose, merchantability, or non-infringement.

tileslinksforsponline's People

Contributors

adam-it avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

mozilla0 anudhra

tileslinksforsponline's Issues

Fails to load and save the personal links

I deployed the app to a SPO site and added the web part to a page. The loading icon stays on the page all the time. Added a few personal links, dragged them around with no issue, but it doesn't save my links so they are all lost upon a refresh.

Looking at the browser console I see below error occurs on all operation such as load, add a new link, dragging them around, etc.

image

It seems it can't find the links json in the repository which make sense for the first time using this component on a fresh tenant, however it never creates one. It seems it's trying to load the data first on every operation, but then it stop upon failure to load and never create one.

Would you please help with the issue? Is there any additional setting needs to be done at MS Graph or Azure AD side?

Pre-defined list of links

Awesome solution! The option for an admin to create a pre-defined list of organization links that a user can add or remove is a great idea.

Style suggestion

Keep up the awesome work!

Just a suggestion - can the layout of the fluent ui icons and font be changed to match the default SharePoint Online layout and font? This will give your webpart a consistent look with other SharePoint Online webparts. I've attached an example from your webpart, and one that uses the default SharePoint layout and font.

TilesLinksForSPOnline:
TilesLinksForSPOnline example

Default SharePoint:
Default SPO example

[🐞 Bug] Web part is not working for adding new tiles

Describe the bug
Add new tile button does not work

To Reproduce
Steps to reproduce the behavior:

  1. Build the webpart
  2. Upload and enable app package in App Catalog
  3. Authorize use of API to access OneDrive (I guess)
  4. Click on Add new tile in added web part in a page
  5. See error

Expected behavior
I have not made the changes to create an admin site so that error is expected.
But beeing able to manage personal links should work without that step?
Nothing happens except trigging an error in console happens whenclicking on "Add new tile"

Screenshots
Screenshot of error in console:
image

Users are able to reach "set icon for predefined links" (but cant really set the icon)

Describe the bug
The web part lets me try to set icons for admin predefined links, but it obviously does not work as it then would have to write back to the admin list and that would set the icon for everyone.

To Reproduce
Steps to reproduce the behavior:

  1. Add web part to page
  2. Add a predefined link
  3. Add predefined link to web part
  4. Hover over predefined link and edit it
  5. Click on set icon in the property pane
  6. Close the property pane
  7. No icon has been added

Expected behavior
Remove edit from predefined links for users
Add icon support in predefined links list for admins (it might work, pending reply from Adam if the functionality is there)

Screenshots
If applicable, add screenshots to help explain your problem.
image

[πŸ’‘ Feature] Unable to add, edit or move tiles with keyboard only

Describe the bug
Unable to add, edit or move tiles with keyboard only.

To Reproduce
Steps to reproduce the behavior:

  1. Navigate to β€˜Add new link’ via keyboard.

  2. Press enter. Panel will open

  3. Press tab, focus will move to tile (if there is one) instead of the form field in the panel

  4. Navigate to tile via keyboard. Edit and move buttons do not show and are obviously not navigable.

Expected behavior
Keyboard users should be able to at least add and edit tiles.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.