update widget schema to include button text and background color and add js listeners on edit